如何通过表名作为SQL服务器参数(how to pass tablename as paramete

2019-09-29 20:06发布

您好frnds我我需要通过一个表名作为参数传递给存储过程

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

它提供了类似的错误

消息102,级别15,状态1,过程6,邻近 '+' 线3不正确的语法。 消息208,级别16,状态1,过程六,3号线无效的对象名称@sixsigma“。

Answer 1:

尝试类似

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

看看EXECUTE(的Transact-SQL)

但你也应该看看

  • SQL注入
  • 动态SQL和SQL注入

前盲目使用此。



文章来源: how to pass tablename as parameter in sql server