我正在编写一个存储过程,其中有很多内部连接选择。
表名是“Product”,我想将其重命名为“P”,因此我可以随时将其作为“P.Id”(或任何其他随机列)联系。
缺点是,我知道的唯一方法是,我必须在任何地方使用“从产品P中选择”,我想知道是否没有更简单的方法来实现全球化。
因此,如果我输入“From P”,也许有可能以某种方式让P引用产品,即使没有From Products P甚至引用产品
答案 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,那么我建议你阅读: