2012-11-15 39 views
0

我正在关注这个帖子:SQL: INSERT INTO...VALUES..SELECT声明临时过程变量?

我的问题是如何声明从SELECT语句中赋值的临时@value1?我有类似的东西

CREATE PROCEDURE name 
(
@arg1 as type1, 
@arg2 as type2 
) 

AS 
    @value1 = SELECT x from tabley WHERE <something> 

    INSERT INTO Table(x,y,z) VALUES(@arg1,@arg2,@value1) 

但我不知道在哪里申报和设置@ value1?

回答

1
CREATE PROCEDURE name 
(
@arg1 as type1, 
@arg2 as type2 
) 

AS 
DECLARE @value1 as type1 

    SELECT @value1=x from tabley WHERE <something> 

    INSERT INTO Table(x,y,z) VALUES(@arg1,@arg2,@value1) 
0
SELECT @value1 := x from tabley WHERE <something> 
0

DECLARE @value1 as type = (SELECT ...) 的地方,你陈述的