在oracle(pl-sql)中我有
s as (select * from ruleassigns$all where [snapshot] = p_Id);
在存储过程中。我想将它移植到sql server(trans-sql)中,但是当我写同样的时候,它给出了我对语句结构的错误。请帮忙! 我想知道像
这样的东西declare @s = (select * from ruleassigns$all where [snapshot] = p_Id);
但这也不正确。
答案 0 :(得分:0)
由于此查询返回多个值,您可能希望使用Declare @table。
语法将是
Declare @s Table (p_id SomeDataType(probably int?))
您可以像任何其他表一样使用@s。
SELECT * FROM @s
Note:
我个人喜欢临时表的感觉。他们感觉像普通的桌子。
你写道:
CREATE TABLE #tableName (p_id SomeDataType)
在您的SP结束时,您需要DROP TABLE #tableName