sql - 将 NEWID() 传递给存储过程
问题描述
我有一个应用程序,其中我只能做一行,因此使用声明似乎超出了可能的范围。
我需要创建一个 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;
这是 db<>fiddle 中的一个说明性示例。
推荐阅读
- javascript - MySQL TypeError:无法读取未定义的属性“查询”
- android - 菜单没有出现,listview 无法点击
- python - is_prime 函数使用过滤器抽象函数
- python - 我应该将 CSV 转换为 ndarray 来制作绘图吗?
- javascript - 有什么办法可以让 Swiper 滑动在延迟时间内垂直移动?
- c# - 即使使用不同的键,Page.ClientScript.RegisterStartupScript 也不会运行多次
- node.js - 在 Windows 任务调度程序下运行时节点退出且没有错误且不等待承诺/回调
- vb.net - 为什么 ReportViewer 不能出现?
- regex - ReplaceAll 与正则表达式删除一个额外的字符,它不想在 Java
- python - 为什么在 python 中使用 `iter` 函数