declare@avarchar(300)set@a='insertintoUser(name,age)values('张三',20)'能不能执行@a这个字符串...
2 回答
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
使用execute来执行字符串
使用Northwind数据库
declare @sql nvarchar(200)
set @sql='select * from customers'
exec(@sql)
注意:
exec sql和exec(sql)是有区别的.
exec sql是执行存储过程.
exec(sql)是执行sql字符串语句.
GCT1015
TA贡献1827条经验 获得超4个赞
declare @a varchar (300) set @a= 'insert into [User](name,age) values(' 张三 ',20)' exec (@a) |
这样试试,user上要加中括号啦,user 是关键字
追问
set @a='insert into [User](name,age) values('张三',20)' 这句话有问题啊 张三那块报错
追答
123 | declare @a varchar (300) set @a= 'insert into [User](name,age) values(' '张三' ',20)' exec (@a) |
追问
为什么要加两个引号呢
追答
动态执行sql的话,你可以把最后一句改成 print @a 看下结果,因为sql语句前后有一对单引号了,如果不加两对单引号的话,识别不出来
- 2 回答
- 0 关注
- 1151 浏览
添加回答
举报
0/150
提交
取消