这样select * from @TableName 让它的表名动态的由参数来决定!可总是不能(100分)

  • 主题发起人 主题发起人 fg007
  • 开始时间 开始时间
F

fg007

Unregistered / Unconfirmed
GUEST, unregistred user!
我想建立这样的存储过程:
在不同的地方调用它时,让它查询不同的表,也就是说:
它的select * from @TableName 让它的表名动态的由参数来决定!可总是不能
成功建立。
 
没试过,应该是不行的!
 
老兄: 表名做参数,应当这样,
create procedure ....
@ tablename varchar(20)
as
declare
@Sqlstr varchar(100)
set @sqlstr='select * from '+@tablename
exec(@sqlstr)
 
用变量啊!
 
create procedure proc
(@tablename varchar(50)
)
as
declare @str varchar(1000)
set @str='select * from '+@TableName
exec(@str)
试试
 
这样是不行的, 不过你可以另一种方式, 就是动态建立SQL语句, 然后执行, 如下:
这是SQLSERVER的
Exec('select * from ' + @TableName)
 
create procedure procname @tablename varchar(50)
as
declare @str varchar(1000)
set @str='select * from '+@TableName
exec(@str)
 
雪中漫步 。。。。。 谢谢你们了,
还有一个急人的问题:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1439142

 
后退
顶部