[MSSQL]如何将exec执行结果放入外面的变量中
2010-10-26 08:12
267 查看
(SQL)如何将exec执行结果放入外面的变量中--动态sql语句
动态sql语句基本语法
1 :普通SQL语句可以用Exec执行
eg: Select * from tableName
Exec('select * from tableName')
Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
eg:
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 -- 此句会报错,@s不是nvarchar类型
declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000)
set @s = 'select ' + @fname + ' from tableName'
Exec(@s) -- 成功
exec sp_executesql @s -- 此句正确
3. 输出参数
declare @num int,
@sqls nvarchar(4000)
set @sqls='select count(*) from tableName'
exec(@sqls)
--如何将exec执行结果放入变量中?
declare @num int, @sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql @sqls,N'@a int output',@num output --定义@a为输出变量,@num 获取变量
select @num
动态sql语句基本语法
1 :普通SQL语句可以用Exec执行
eg: Select * from tableName
Exec('select * from tableName')
Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
eg:
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 -- 此句会报错,@s不是nvarchar类型
declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000)
set @s = 'select ' + @fname + ' from tableName'
Exec(@s) -- 成功
exec sp_executesql @s -- 此句正确
3. 输出参数
declare @num int,
@sqls nvarchar(4000)
set @sqls='select count(*) from tableName'
exec(@sqls)
--如何将exec执行结果放入变量中?
declare @num int, @sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql @sqls,N'@a int output',@num output --定义@a为输出变量,@num 获取变量
select @num
相关文章推荐
- (SQL)如何将exec执行结果放入外面的变量中--动态sql语句
- 如何将exec执行结果放入外面的变量中--动态sql
- (SQL)如何将exec执行结果放入外面的变量中--动态sql
- 如何将exec执行结果放入变量中
- 如何将exec执行结果放入变量中
- 将exec执行结果放入变量
- 将exec执行结果放入变量中
- 将exec执行结果放入变量
- SqlServer中存储过程中将Exec的执行结果赋值给变量输出
- 【python+mysql】mysql语句的执行,结果捕获,及如何在mysql语句中包含变量
- SqlServer中存储过程中将Exec的执行结果赋值给变量输出
- 如何将hive的执行结果返回给一个变量
- SqlServer中存储过程中将Exec的执行结果赋值给变量输出
- SqlServer中存储过程中将Exec的执行结果赋值给变量输出
- linux shell变量获取执行结果
- 如何获取system函数执行的结果------用popen搞起(很有用)
- 如何实现函数执行完,但是结果不被系统回收?
- adoquery查询结果如何赋给一个变量(delphi和c++ builder)
- JDK5 如何获取所有线程池的结果再继续执行
- TestNG入门教程(TestNG介绍、在Eclipse中安装TESTNG、测试小例子、基本注解、如何执行测试、按顺序执行Case、异常测试、组合测试、参数化测试、忽略测试、依赖测试、测试结果报告)