如何在sql server中编写一个以表名作为输入参数并在表中显示数据作为输出的过程
create procedure Fetch_Table_Data
@Table_name varchar(50)
'Select* from'+'@Table_name'
这显示错误
答案 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