首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

SQL 定义table变量的有关问题

2012-02-12 
SQL定义table变量的问题我有一系列的这样表 table1,table2,table3,table4.....在执行一个函数的时候会传个

SQL 定义table变量的问题
我有一系列的这样表 table1,table2,table3,table4.....
在执行一个函数的时候会传个参数,这个参数决定要执行哪个表
在函数中:
declare @num int
declare @tablename table(fld_id int)
set @tablename=?
select * from @tablename
我想把这个@tablename 赋值,随着传来的@num的不同,而使用不同的表(table1,table2,table3....)
请问:这个@tablename怎么赋值了?


[解决办法]
拼接成字符串
然后用exec 执行
[解决办法]
用EXECUTE sp_executesql 方法,具体参考帮助文档
[解决办法]

declare @num int

if @num =0
 set @tableName = 'table1'
else
 set @tableName = 'table2'

declare @sql nvarchar(500)

set @sql = 'select * from ' + @tableName

execsql(@sql)
[解决办法]
declare @num int
declare @tablename table(fld_id int)
set @tablename='aa'
EXEC('select * from '+@tablename )

热点排行