从重命名的Sql全局

时间:2013-01-15 15:27:18

标签: sql select

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

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

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

因此,如果我输入“From P”,也许有可能以某种方式让P引用产品,即使没有From Products P甚至引用产品

1 个答案:

答案 0 :(得分:0)

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

代码与此类似:

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

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

execute(@query);

如果你打算使用动态sql,那么我建议你阅读:

The Curse and Blessings of Dynamic SQL