如何在 SQL Server 查询中的 FROM 子句中使用变量?

2024-05-09

我正在创建一个查询,该查询将选择表中的所有数据。查询将根据我将传递给存储过程的变量选择表。

在我的例子中。如果我执行example_sp table1它将选择table1。如果我使用同样的事情example_table table2,应该选择table2.

ALTER PROCEDURE example_sp
    @type varchar(10), -- value will be `table1` or `table2`
AS
BEGIN
    SELECT * FROM @type
END

戈登建议的版本略有不同......

ALTER PROCEDURE example_sp
    @TableName SYSNAME   --<-- Use appropriate data type for sql server objects
AS
BEGIN
  SET NOCOUNT ON;

  Declare @Sql NVARCHAR(MAX);

  SET @Sql = N' SELECT * FROM ' + QUOTENAME(@TableName)

  Exec sp_executesql @Sql
END
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 SQL Server 查询中的 FROM 子句中使用变量? 的相关文章

随机推荐