SQL Server-将SELECT语句存储到存储过程中的变量中

时间:2018-06-29 06:03:12

标签: sql sql-server

在存储过程中,我试图将SELECT语句的结果存储在变量中。这是我到目前为止的内容:

DECLARE @process_pk uniqueidentifier
INSERT INTO @process_pk
    SELECT process_pk 
    FROM dbo.Process 
    WHERE process_id = @process_id

在上面,我试图将SELECT语句的结果存储到我的变量@process_pk 中,以便稍后在存储过程的后半部分使用。但这似乎不是正确的语法。

  

我想问一下存储SELECT语句的正确方法是什么   存储过程变量中的结果,以便可以使用它   在存储过程中随时可以。

2 个答案:

答案 0 :(得分:2)

您应该使用SET

SET @process_PK = (SELECT process_pk 
    FROM dbo.Process 
    WHERE process_id = @process_id)

答案 1 :(得分:1)

您可以在SELECT中设置值:

SELECT @process_pk = process_pk 
FROM dbo.Process 
WHERE process_id = @process_id;

如果要从同一查询中设置多个值,这特别方便:

SELECT @process_pk = p.process_pk,
       @col1 = p.col1 
FROM dbo.Process p 
WHERE p.process_id = @process_id;