sp_executesql动态执行sql语句并将结果赋值给一变量
2013-10-13 15:50
537 查看
需求场景:
需动态拼接sql语句进行执行,并将执行的结果赋值给一指定变量。
样例代码如下:
注意:声明kblminxh等输出参数时应当为ntext,nvarchar,nchar类型,否则会报这个错过程需要参数'@statement' 为'ntext/nchar/nvarchar' 类型。
说明:@sql里的@a是作为输出参数的,@a又把值赋值给@kblminxh,感觉像是动态传递变量值。sp_executesql是比较快。
需动态拼接sql语句进行执行,并将执行的结果赋值给一指定变量。
样例代码如下:
SELECT @tableName = TAB_NAME FROM dbo.NMR_BLYWBDY WHERE BLID =@bldm AND TAB_TYPE='0' SELECT @sql= 'SELECT DISTINCT top 1 @a= KBLMINXH FROM '+@tableName+' WHERE PAGENO=(SELECT MAX(PAGENO) FROM '+@tableName+')' EXEC sp_executesql @sql,N'@a varchar(9) output',@kblminxh OUTPUT
注意:声明kblminxh等输出参数时应当为ntext,nvarchar,nchar类型,否则会报这个错过程需要参数'@statement' 为'ntext/nchar/nvarchar' 类型。
说明:@sql里的@a是作为输出参数的,@a又把值赋值给@kblminxh,感觉像是动态传递变量值。sp_executesql是比较快。
注sp_executesql是2005引入的系统函数,自行查询其好处。
相关文章推荐
- (SQL)如何将exec执行结果放入外面的变量中--动态sql语句
- SqlServer动态执行SQL语句sp_executesql、Exec
- 转贴自微软MSDN:建议执行动态SQL时,使用sp_executesql 存储过程而不要使用EXECUTE 语句
- 执行动态 sql 并为 输出参数赋值、sp_executesql 使用方法
- 执行动态 sql 并为 输出参数赋值、sp_executesql 使用方法
- 执行动态 sql 并为 输出参数赋值、sp_executesql 使用方法
- 动态sql语句的执行(sp_executesql)
- SqlServer动态执行SQL语句sp_executesql、Exec
- sqlserver exec sp_executesql 动态给变量赋值
- 关于sp_executesql与exec执行动态sql的区别--转载RascallySnake
- 把动态SQL的执行结果反回给一个变量
- Sql语句用变量 用exec sp_executesql 执行之
- sqlserver中sp_executesql使用实例(获取动态sql输出结果)
- 如何将exec执行结果放入外面的变量中--动态sql
- sqlserver 动态sql执行execute和sp_executesql
- 关于动态语句执行给变量赋值
- MSSQL 动态加载 SQL语句 (sp_executesql)
- sqlserver中sp_executesql使用实例(获取动态sql输出结果)
- SQLSERVER 动态执行SQL sp_executesql与EXEC
- 存储过程中将sql语句结果赋值给变量