【发布时间】:2020-01-29 16:17:26
【问题描述】:
我试图找到一个值,然后在同一个 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,然后我想将它与我将使用的其他变量一起插入到一个单独的表中。
非常感谢任何帮助。
谢谢!
【问题讨论】:
-
您应该能够在
INSERT语句中使用SELECT TOP 1 RUId FROM RegisteredUsers WHERE Email = @Email代替@RUId。但是您可能需要添加一些检查是否确实存在Email = @Email。
标签: sql sql-server