sql - 如何传递变量内字符串的参数值?

标签 sql sql-server sql-server-2008 t-sql sql-server-2012

有人可以帮助我如何将参数值传递到变量内的字符串

例如:

DECLARE @STR VARCHAR(MAX) = ''

DECLARE @ID INT

SET @STR = 'SELECT * FROM STUDENT WHERE STUDENT_ID=@ID'

这里我想将@ID作为参数传递给变量@STR

最佳答案

使用sp_executesql给参数赋值,这也将避免sql注入(inject)。试试这个

DECLARE @STR NVARCHAR(MAX) = ''

DECLARE @ID INT

SET @STR = 'SELECT * FROM STUDENT WHERE STUDENT_ID=@ID'

exec sp_executesql @str,'@ID INT',@ID

关于sql - 如何传递变量内字符串的参数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31700759/

相关文章:

sql - 查找一个月内的不同记录

sql - 这是为此报告编写 SQL 的最佳方式吗?

MySQL 在结果集中添加缺失的月份

java - Hibernate 是否更新未更改的实体?

php - PHP代码从SQL数据库的查询结果打开URL

PHP-MySql : Like Query with modified Table Column

sql - 不满足having by子句SQL的项目总和

sql - SQL Server 中的逆透视表

visual-studio-2008 - 如何在SSIS中调试脚本组件

sql-server - SQL Server 中图像列的 MD5 总和