将 NEWID() 传递给存储过程
Pass NEWID() to a stored procedure
我有一个应用程序,我不能在其中执行超过一行的操作,因此使用声明似乎超出了可能的范围。
我需要创建一个 guid 并将其传递给存储过程。
在 SSMS 中,我可以做到
SELECT NEWID()
这会创建一个 uniqueidentifier
。
我还知道如何在存储过程中操作、声明和设置数据类型等。
我的问题是我想动态生成一个 GUID 并将其作为第一个参数传递给正确完成的存储过程。
这没有工作:
EXEC dbo.CreateNewbesonUser NEWID(), 0, 'bbad', 0, 'trtr', 0, 0
使用一个变量:
DECLARE @u uniqueidentifier;
SET @u = NEWID();
EXEC dbo.CreateNewbesonUser @u, 0, 'bbad', 0, 'trtr', 0, 0;
Here 是 db<>fiddle.
中的说明性示例
我有一个应用程序,我不能在其中执行超过一行的操作,因此使用声明似乎超出了可能的范围。
我需要创建一个 guid 并将其传递给存储过程。
在 SSMS 中,我可以做到
SELECT NEWID()
这会创建一个 uniqueidentifier
。
我还知道如何在存储过程中操作、声明和设置数据类型等。
我的问题是我想动态生成一个 GUID 并将其作为第一个参数传递给正确完成的存储过程。
这没有工作:
EXEC dbo.CreateNewbesonUser NEWID(), 0, 'bbad', 0, 'trtr', 0, 0
使用一个变量:
DECLARE @u uniqueidentifier;
SET @u = NEWID();
EXEC dbo.CreateNewbesonUser @u, 0, 'bbad', 0, 'trtr', 0, 0;
Here 是 db<>fiddle.
中的说明性示例