2009-10-05 181 views
0

我需要爲正在構建的應用程序測試幾個不同的進程。每個進程都需要數據庫中的特定表有數據,而且所有這些表都有來自其他表的外鍵約束。如何在SQL Server 2005中從另一個SQL Server 2005中調用SQL腳本

我寫了填充表感興趣的sql腳本以及它的依賴關係,但事實證明,在填充依賴關係表時,我在這些腳本中的一些中複製了很多代碼。

我想取出重複的代碼,並把它放在一個單獨的腳本中,但我不知道如何可能的話從另一個腳本中執行一個sql腳本。

所有這些的重要部分也是能夠從調用腳本中獲取調用腳本中的@@ IDENTITY值。

任何幫助將非常感激。

此致敬禮。

說明:通過腳本我的意思是保存在磁盤中的文件。我不想爲此創建和刪除臨時存儲過程。

+0

我從來沒有需要它,但我認爲你可以用osql實用工具做到這一點;但是,我不知道如何獲得從一個傳遞到另一個適當的IDENTITY值。您可能需要構建和刪除一個保存表或某種cookie(這意味着使用xp_cmdshell存儲過程)。 –

回答

1

當我聽到「script」這個詞時,我想到一個包含一系列命令的文件;如果你問如何讓SQL Server從另一個命令文件加載一個命令文件,我不確定一個簡單的方法來做到這一點。

如果您可以將重複的代碼保存爲存儲過程,那麼您肯定可以從SQL Server中的另一個存儲過程調用存儲過程。然後你可以傳入一個保存@@ IDENTITY值的參數(你可能想看看SCOPE_IDENTITY())。

HTH, 斯圖