[英]How to pass column name as well as Table Name to a stored procedure as a parameter in SQL Server?
我有一个存储过程,它以列名和表名作为参数。
ALTER PROCEDURE [dbo].[usp_TableReporting_GetColumnNamesAndValues]
@concatstring AS VARCHAR(100),
@Tablename as VARCHAR(100)
AS
BEGIN
SELECT @concatstring FROM @Tablename
END
此过程给我一个错误:
必须声明标量变量@TableName
尽管我已经在顶部声明了它。
使用动态SQL:
ALTER PROCEDURE [dbo].[usp_TableReporting_GetColumnNamesAndValues]
@concatstring AS VARCHAR(100),
@Tablename as VARCHAR(100)
AS
BEGIN
Declare @mystring varchar(max) = N'select ' + @concatstring + ' from ' + @Tablename
exec (@mystring)
END
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.