我正在嘗試編寫一個數據庫腳本(SQL Server 2008),它將一臺服務器上的數據庫表中的信息複製到另一臺服務器上另一個數據庫中的相應表中。在SQL語句中使用參數值
我已閱讀,要做到這一點,正確的方法是使用SQL語句在類似於以下格式:
INSERT INTO <linked_server>.<database>.<owner>.<table_name> SELECT * FROM <linked_server>.<database>.<owner>.<table_name>
一樣會有被複制多張表,我想聲明變量位於腳本的頂部,以允許用戶指定要使用的每個服務器和數據庫的名稱。這些可以在整個腳本中使用。但是,我不確定如何在實際的SQL語句中使用變量值。我想實現的是像下面這樣:
DECLARE @SERVER_FROM AS NVARCHAR(50) = 'ServerFrom'
DECLARE @DATABASE_FROM AS NVARCHAR(50) = 'DatabaseTo'
DECLARE @SERVER_TO AS NVARCHAR(50) = 'ServerTo'
DECLARE @DATABASE_TO AS NVARCHAR(50) = 'DatabaseTo'
INSERT INTO @[email protected]_TO.dbo.TableName SELECT * FROM @[email protected]_FROM.dbo.TableName
...
我應該如何使用此代碼@變量,以便它能夠正常工作?
此外,你覺得我上面的方法是什麼,我想實現正確的,我應該使用NVARCHAR(50)作爲我的變量類型還是其他什麼東西?
感謝