我在看一些SQL代码清理存储过程。在SQL中,可能有一个表示可以在存储过程中使用的数据库表的变量?
鉴于2个不同的数据库中有2个表格[DatabaseA].dbo.MyTable
和[DatabaseB].dbo.MyTable
。是否有可能有一个变量代表这些位置,然后可以在存储过程中进一步使用?
要使用的位置由传递到存储过程的变量确定。类似下面的代码。
DECLARE @Location …
If (@InputVariable = 1)
BEGIN
@Location = [DatabaseA].dbo.MyTable
END
ELSE
BEGIN
@Location = [DatabaseB].dbo.MyTable
END
BEGIN
UPDATE @Location
WHERE
…
END
你必须使用动态SQL这个 – Raj 2014-09-25 09:01:28