动态SQL语句的一些常见写法
来源:互联网 发布:转行做数据分析师 编辑:程序博客网 时间:2024/05/07 09:56
1:普通SQL语句可以用Exec执行
eg: Select * from tableName
Exec('select * from tableName')
sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
eg:
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 --后边定义的@num是输入变量,@a不用定义
select @num
- 动态SQL语句的一些常见写法
- 动态SQL语句的一些常见写法
- sql 语句 的一些写法
- 动态sql语句游标的写法
- 关于mybatis动态SQL语句的写法
- 一些常见sql语句
- java面试中关于学员一些sql语句的写法
- 【摘】Power Builder 中动态SQL语句的写法
- 游戏中MyBatis的动态SQL语句写法
- 一些sql的写法
- 复杂sql语句proc写法(动态写法)
- sql语句的多种写法
- 标准Sql语句的写法
- SQL循环语句 的写法
- MySQL的SQL语句写法
- 关于动态SQL的写法
- 几种常见复合sql查询语句的linq写法[继续补充中]
- Mybatis中的动态SQL语句以及一些其他的笔记
- hack---有点儿晕
- 我国网络游戏策划人员存在巨大缺口
- (二)线程--通过委托异步调用方法(示例下载)
- (三)线程--等待句柄(示例下载)
- (四)线程--使用线程回调方法(示例下载)
- 动态SQL语句的一些常见写法
- (五)线程--定制线程及设置和获取线程的优先级别(示例下载)
- 关于OpenOffice中菜单字体过小的解决
- Xbox360危及游戏PC市场? 中国厂商称不畏惧
- (六)线程--分别用lock以及Interlocked和Monitor类实现线程的临界区操作(互斥)(示例下载)
- 根据表中的纪录变化,自动维护作业
- (七)线程--管理线程(使线程中止,暂停,挂起等)(示例下载)
- (八)线程--借助 封装类 实现“线程调用带参方法”(示例下载)
- 系统多种资源文件代码示例(例如一个系统同时具有中文简体,中文繁体,英文,日文等不同资源文件)(示例代码下载)