首页 > 解决方案 > 将 NEWID() 传递给存储过程

问题描述

我有一个应用程序,其中我只能做一行,因此使用声明似乎超出了可能的范围。

我需要创建一个 guid 并将其传递给存储过程。

在 SSMS 中,我可以做到

SELECT NEWID()

这会创建一个uniqueidentifier.

我也知道如何在存储过程等中操作、声明和设置数据类型。

我的问题是我想动态生成一个 GUID 并将其作为第一个参数传递给正确完成的存储过程。

不起作用

EXEC dbo.CreateNewbesonUser NEWID(), 0, 'bbad', 0, 'trtr', 0, 0

标签: sqlsql-serverstored-proceduresguid

解决方案


使用变量:

DECLARE @u uniqueidentifier;

SET @u = NEWID();

EXEC dbo.CreateNewbesonUser @u, 0, 'bbad', 0, 'trtr', 0, 0;

是 db<>fiddle 中的一个说明性示例。


推荐阅读