将 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.

中的说明性示例