sql - 在存储过程中查找和使用值
问题描述
我试图找到一个值,然后在同一个 SQL 存储过程中的另一个语句中使用它。但是我迷失了语法(如果这是可能的话)。
下面我发布了我的代码,因为这将是完全解释的最简单方法。
CREATE PROCEDURE FindRuidForUser
@Email nvarchar (160),
@RUId int,
@DeskLocation nvarchar(160),
@ExtraInformation nvarchar(160),
@PrimaryWorkStation nvarchar(160),
@Date datetime
AS
SELECT RUId
FROM RegisteredUsers
WHERE Email = @Email
RUId = @RUId
Then
INSERT INTO diffrenttable (RUId, PrimaryWorkStation, DeskLocation, ExtraInformation, TimeCreated)
VALUES (@RUId, @PrimaryWorkStation, @DeskLocation, @ExtraInformation, @TimeCreated)
我首先想找到 RUId,然后我想将它与我将使用的其他变量一起插入到一个单独的表中。
任何帮助是极大的赞赏。
谢谢 !
解决方案
对您的存储过程进行一些调整:在您的
select top 1 @RUId = RUId from RegisteredUsers
where Email = @Email
我添加了一个顶部,以防您为一封电子邮件返回更多 RUI。
create procedure FindRuidForUser
@Email nvarchar (160),
@RUId int,
@DeskLocation nvarchar(160),
@ExtraInformation nvarchar(160),
@PrimaryWorkStation nvarchar(160),
@Date datetime
as
select top 1 @RUId = RUId from RegisteredUsers
where Email = @Email
Then
INSERT into diffrenttable (RUId,PrimaryWorkStation,DeskLocation,ExtraInformation, TimeCreated)
values (@RUId, @PrimaryWorkStation, @DeskLocation, @ExtraInformation, @TimeCreated)
推荐阅读
- android - Android - 设备内存的位图问题
- javascript - 如何在不单击任何按钮的情况下使用 parsleyjs 检查表单验证是否成功?
- vba - 如何创建图像边框?
- flutter - 我在“snapshot.data.length”中得到错误
- angular - 尝试为 Angular 路由定义多个可选参数时出现重定向问题
- azure-devops - 如何使用 REST API 更新通过 Azure DevOps 中的链接测试的工作项
- r - 如何将帮助页面添加到 R 包?
- javascript - 如何使用 Axios 从 Laravel 获取多个 GET API 数据响应?(VueJS)
- apple-developer - 有没有办法在苹果开发者中删除标识符
- azure-functions - 如何获取使用 Terraform 部署的功能应用程序中的“功能网址”?