sql - 如何将局部变量设置为 SQL 中执行的返回值
问题描述
在下面的代码中,我尝试将局部变量设置为从 TSQL 中的执行语句返回的内容。
声明的变量:@id
执行需要一个类型和一个增量,并返回一个值期望的结果是设置返回给变量@id的值
下面的 select 语句显示@id
为 0,并且执行似乎正在返回该值,但未将其设置为 @id。研究/谷歌搜索表明这是我应该如何将局部变量设置为执行语句返回的内容,但我显然做得不对。
declare @id int = -1
exec @id = AP_GET_NEXTID @type = 'CT', @increment = 1
print @id
select @id
下一个 ID 似乎已返回但未设置为 @id 字段。
解决方案
尝试类似...
CREATE TABLE #Result ( NextID int )
DECLARE @id int
INSERT #Result exec AP_GET_NEXTID @type = 'CT', @increment = 1
SELECT TOP 1 @id = NextID FROM #Result
PRINT @id
SELECT @id
推荐阅读
- c# - 减少不断增加的构造函数服务参数
- java - How do I get the value of setFormatter using numberPicker?
- android-room - Android Room Compilation error suspend function @Transaction
- linux - 如何修复“无法执行目标 flex:4.0.0:compile-swc (default-compile-swc) 编译时发生错误”
- irc - Irssi 删除默认频道、服务器和网络
- html - HTML 引导代码在 Firefox 上按预期工作,但在 Chrome 上却不行
- sequelize.js - 将新创建的孩子与现有父母相关联的更有效方法?(有很多)
- excel - 比较单元格后查找、复制和粘贴值
- orientdb - OrientDB中如何高效遍历多个顶点
- react-native - 创建我自己的模块时,“模块在 Haste 模块图中不存在”