0

我正在编写一个存储过程,它有很多带有内部连接的选择。

表名是“Product”,我想将它重命名为“P”,这样我就可以随时将它作为“P.Id”(或任何其他随机列)联系起来。

缺点是我知道的唯一方法是我必须在任何地方使用“从产品 P 中选择”,我想知道是否有更简单的方法可以将其全球化。

因此,即使没有来自产品 P 甚至没有引用产品,如果我键入“来自 P”,也许以某种方式使 P 引用产品是可能的

4

1 回答 1

0

您没有指定您正在使用的 RDBMS,但在 SQL Server 中,我认为您可以做到这一点的唯一方法是使用动态 sql 来执行您的查询。然后,您将创建一个要执行的 sql 字符串。使用动态 SQL,您可以将表名添加到您添加到查询字符串的参数中。

代码将与此类似:

declare @p varchar(50) = 'Products'
declare @query varchar(max)

set @query = 'select * from '+@p

execute(@query);

如果您要使用动态 sql,那么我建议您阅读:

动态 SQL 的祸与福

于 2013-01-15T15:32:22.403 回答