如何在sql server中编写一个以表名作为输入参数的过程,并将表中的数据显示为输出

时间:2015-01-06 07:02:21

标签: sql-server

如何在sql server中编写一个以表名作为输入参数并在表中显示数据作为输出的过程

create procedure Fetch_Table_Data


    @Table_name varchar(50)
    'Select* from'+'@Table_name'

这显示错误

1 个答案:

答案 0 :(得分:1)

使用sp_executesql

"执行可以多次重用的Transact-SQL语句或批处理,或者动态构建的语句或批处理。 "

在你的情况下,它将是

EXECUTE sp_executesql 'Select * from'+@Table_name

UPD:完整示例

declare @tname nvarchar(50), @sql nvarchar(50)
select @tname = 'dbo.SomeTable'
select @sql = 'Select * from ' + @tname
EXECUTE sp_executesql @sql