为了账号安全,请及时绑定邮箱和手机立即绑定

sqlserver一个字符串能不能执行

sqlserver一个字符串能不能执行

慕虎7371278 2018-09-05 14:14:00
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字符串语句.

查看完整回答
反对 回复 2018-09-23
?
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)'
这句话有问题啊  张三那块报错

追答

123declare @a varchar(300)set @a='insert into [User](name,age) values(''张三'',20)'exec (@a)

追问

为什么要加两个引号呢

追答

动态执行sql的话,你可以把最后一句改成
print @a
看下结果,因为sql语句前后有一对单引号了,如果不加两对单引号的话,识别不出来


查看完整回答
反对 回复 2018-09-23
  • 2 回答
  • 0 关注
  • 1151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信