怎样在查询语句里面,把表名用参数来代替!?
其实是我要不定向的查询很多表(结构相同),但是一个我只会在存储过程里面通过一个个IF来执行,有什么更好的方法不?
比如要查询a表,,只要向存储过程传递a值就行啦!exec 过程名 a!
问题点数:20、回复次数:6Top
1 楼wgsasd311(自强不息)回复于 2006-03-04 20:39:29 得分 0
create proc(@tb varchar(40))
as
exec('select * from '+@tb)
goTop
2 楼lsqkeke(可可)回复于 2006-03-05 14:35:11 得分 0
动态SQL语句就用exec()方法执行
declare @tablename varchar(100)
set @tablename='test'
exec('select * from '+@tb)Top
3 楼filebat(Mark)回复于 2006-03-05 15:48:50 得分 0
只能用动态SQL语句了.
因为表名,列名不能用变量.Top
4 楼wellan(wellan)回复于 2006-03-06 09:45:04 得分 0
:filebat(Mark) ( 一星(中级)) 信誉:100 2006-03-05 15:48:00 得分:0
?
只能用动态SQL语句了.
因为表名,列名不能用变量.
什么意思?
上面的不是就用的变量吗?Top
5 楼baideyi()回复于 2006-03-24 19:17:29 得分 0
我想filebat(Mark)说的是不能这样写:
select * from @tbTop
6 楼ReViSion(和尚)回复于 2006-03-24 20:26:52 得分 0
是呀,没办法
只能用动态语句Top




