2012-12-10 76 views
0

我知道sql不支持#include指令,但是我沒有找到不支持這個原因的原因。我在一個項目中工作,我可能需要添加這種支持,以便一個sql文件可以包含另一個。我可能錯過的任何明顯的事情?提前致謝。沒有#include指令對sql有意義

問候, 裴

+1

這是一個很好的問題,我完全同意#include會非常有用。一些數據庫可能支持它。但是,這樣一個導致大量討論的普遍問題不適合這個論壇。 –

+0

大多數供應商具有包含其他腳本的特定語法。 – Mat

+0

如果你使用的是mysql,你可以使用'SOURCE'命令。 http://forums.mysql.com/read.php?108,270752,270752 – imreal

回答

0

這是很難想象#include將用於。

  • 常量的定義?
  • 函數定義?
  • 錯誤信息?

在我編寫的所有100 + k行SQL代碼中,我從來沒有想要包含任何其他東西。

最接近的我來複制和粘貼,然後修改以前寫的查詢或create table。我想如果有一個宏參數化方案,我可能會想出一個使用include的方法,但是大多數情況下它不會有用。

+0

的想法是減少代碼重複。在我的項目中有幾乎相同的內容的SQL腳本。一些基本的sql腳本可以被許多其他人引用 –

+0

另一個動機是,如果一個sql腳本可以分解爲小邏輯塊,那麼它更容易「單元測試」它 –

+0

我從來沒有感受到重構的衝動,直到我瞭解它。在我瞭解他們之前,我從未感受到使用課堂的衝動。在我開始使用標準庫之前,我從未感受到使用標準庫的衝動。我從來沒有感覺過...等等。這聽起來就像是[這一個]的例子(http://en.wiktionary.org/wiki/if_all_you_have_is_a_hammer,_everything_looks_like_a_nail)。 –