2012-10-03 32 views
1

可能重複:
Constants and Include files in TSQL是否有T-SQL等價物的#include,爲什麼

我一直在尋找的T-SQL相當於℃的「#包括「指令。由於我還沒有找到,不知

  • 難道MS不包括任何種類的SQL文件列入/加入執行
  • 如果不是,爲什麼
  • 如果沒有,有沒有更好的辦法對我來說,在一次執行多個SQL文件,無需複製粘貼或手動預編譯

對於那些好奇我的動機,我寫了一組類似的查詢,我覺得是很方便的外部化從枚舉表常數( ),預先計算(製作一些測試輸入表)和參數變量(我正在處理哪些子集)。

據我所知,我不能真正使用存儲過程或函數(而且我不喜歡這些污染我的數據庫的想法)。

+2

「包含」文件通常是使用SQL *客戶端*的功能,而不是實際的SQL語言/方言。用'sqlcmd'就是'-i'命令。其他客戶端也有其他命令。 –

+0

@a_horse_with_no_name:你知道MS SQL studio 2008的任何包含功能嗎? – PPC

+0

對不起,沒有。我不使用它 –

回答

8

您可以在SSMS中或通過sqlcmd實用程序(命令行)查看以SQLCMD模式執行的操作。有一個:r <file name>命令,允許您在當前執行會話中包含外部文件。因此,如果您在較大的腳本的頂部附近包含:r my_init_script.sql,它可能會實現您的目標。

請注意,這是針對SQL 2005及更高版本的。

0

您可以嘗試使用存儲過程。你將能夠在每個命令中使用許多命令並使用參數來控制它們。另外,您可以根據需要調用不同的存儲過程。如果你有一堆「常量」,你可以使用一個表來存儲它們,並根據需要選擇它們。

相關問題