码迷,mamicode.com
首页 > 数据库 > 详细

sqlserver 动态表名 动态字段名 执行 动态sql

时间:2015-06-02 14:38:11      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:

动态语句基本语法:

1 :普通SQL语句可以用exec执行

Select * from tableName exec(‘select * from tableName‘)

exec sp_executesql N‘select * from tableName‘ -- 请注意字符串前一定要加N

2:字段名,表名,数据库名之类作为变量时,必须用动态

SQL declare @fname varchar(20) set @fname = ‘FiledName‘ Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。 exec(‘select ‘ + @fname + ‘ from tableName‘) -- 请注意 加号前后的 单引号的边上加空格

当然将字符串改成变量的形式也可

declare @fname varchar(20) set @fname = ‘FiledName‘ --设置字段名

declare @s varchar(1000) set @s = ‘select ‘ + @fname + ‘ from tableName‘ exec(@s) -- 成功

exec sp_executesql @s -- 此句会报错 declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000)

set @s = ‘select ‘ + @fname + ‘ from tableName‘ exec(@s) -- 成功 exec sp_executesql @s -- 此句正确

sqlserver 动态表名 动态字段名 执行 动态sql

标签:

原文地址:http://www.cnblogs.com/lj821022/p/4546107.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!