有点急,进来看看 exec ('delete from @rtable') 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 exec ('delete from 表 where '+@rtable) 当表或者列名使用变量的时候,需要用动态sql执行 动态SQL语句的一些常见写法1:普通SQL语句可以用Exec执行eg: Select * from tableName Exec('select * from tableName') sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N2:字段名,表名,数据库名之类作为变量时,必须用动态SQLeg: declare @fname varchar(20) set @fname = '[name]'Select @fname from sysobjects -- 错误Exec('select ' + @fname + ' from sysobjects') -- 请注意 加号前后的 单引号的边上要加空格exec sp_executesql N' select ' + @fname + ' from sysobjects' 当然将字符串改成变量的形式也可 declare @s varchar(1000) set @s = 'select ' + @fname + ' from sysobjects' Exec(@s) -- 成功 exec sp_executesql @s -- 此句会报错 declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000) set @s = 'select ' + @fname + ' from sysobjects' Exec(@s) -- 成功 exec sp_executesql @s -- 此句正确,3: 输出参数eg:declare @num, @sqlsset @sqls='select count(*) from ' + @servername + '.a.dbo.b'exec(@sqls)我如何能将exec执行的结果存入变量@num中declare @num int, @sqls nvarchar(4000)set @sqls='select @a=count(*) from '+@servername+'.a.dbo.b'exec sp_executesql @sqls,N'@a int output',@num outputselect @num exec ('delete from '+@rtable) exec ('delete from 表 where '+@rtable) SQL server死锁问题 数据库兼容性问题 电脑非自然重启后,sql server服务打不开 SQLSERVER中的DTS是什么意思?有何用处? 只是数据表的记录增加,修改,删除,结构不改,要进行日志备份吗? 怎样得到一个服务器里面的所有数据库的存储过程 超超难的update语句,怎么写,跪求高手指教! 如何将图片jpg, bmp存入Sql server7 数据库 一句SQL怎么写(MSSQLSERVER):表以时间为索引,要取表中每一天最早的一条记录的集合 关于SQL查询语句中字段是中文和英文是否要用[]? 菜鸟问题,请教一个简单SQL语法。 请指教
1:普通SQL语句可以用Exec执行eg: Select * from tableName
Exec('select * from tableName')
sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N2:字段名,表名,数据库名之类作为变量时,必须用动态SQLeg:
declare @fname varchar(20)
set @fname = '[name]'
Select @fname from sysobjects -- 错误
Exec('select ' + @fname + ' from sysobjects') -- 请注意 加号前后的 单引号的边上要加空格
exec sp_executesql N' select ' + @fname + ' from sysobjects' 当然将字符串改成变量的形式也可
declare @s varchar(1000)
set @s = 'select ' + @fname + ' from sysobjects'
Exec(@s) -- 成功
exec sp_executesql @s -- 此句会报错 declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000)
set @s = 'select ' + @fname + ' from sysobjects'
Exec(@s) -- 成功
exec sp_executesql @s -- 此句正确,3: 输出参数eg:
declare @num,
@sqls
set @sqls='select count(*) from ' + @servername + '.a.dbo.b'
exec(@sqls)
我如何能将exec执行的结果存入变量@num中declare @num int,
@sqls nvarchar(4000)
set @sqls='select @a=count(*) from '+@servername+'.a.dbo.b'
exec sp_executesql @sqls,N'@a int output',@num output
select @num