如何在sql server中将表名作为参数传递

时间:2010-11-17 08:45:28

标签: sql sql-server-2005

hello frnds我需要将表名作为参数传递给存储过程

CREATE PROCEDURE six @tablename nvarchar
AS
SELECT * FROM + @tablename
Go
exec six Entry_sixsigma_mag

它给出了错误,如

Msg 102,Level 15,State 1,Procedure 6,Line 3 '+'附近的语法不正确。 Msg 208,Level 16,State 1,Procedure 6,Line 3 无效的对象名称'@sixsigma'。

1 个答案:

答案 0 :(得分:4)

尝试类似

的内容
CREATE PROCEDURE six @tablename nvarchar(100) 
AS 
EXEC('SELECT * FROM ' + @tablename)
Go 
exec six Entry_sixsigma_mag

查看EXECUTE (Transact-SQL)

但你也应该看看

在盲目使用之前。