2010-02-12 65 views
2

我想作一些可重複使用的,有點動態TSQL代碼,可以在許多其它存儲的特效中被調用,但我與如何與SQL Server實現這個奮鬥。可重用的SQL Server存儲過程;築巢;全局變量

的環境是許多分佈式源系統的數據庫,這將有自己包裝的存儲過程,它將調用幾個這樣的模塊化存儲特效的從普通ETLManagement DB。包裝器存儲過程將調用幾個這些黎民/可重複使用的存儲過程的(以在某些動態定義的控制表執行操作),然後進入statment一個INSERT(擁有和由源系統中定義),然後一對夫婦更黎民/再 - 可用的sprocs。

一個主要障礙是,我似乎無法宣佈在嵌套存儲過程的變量,我怎麼聲明,所有的源系統存儲過程可以讀取全局變量?

上午我甚至會對此有共同的存儲過程的最好方法,還是有更好的辦法?

(請原諒我的TSQL編程的天真,我一直在做與其他工具ETL到現在。)

回答

2

我會把全局變量的概念變成一個查找表。這是你擁有的唯一配置。

另外,你可以考慮尋找更多的User Defined Functions,因爲他們可以在這麼多比一個存儲過程更多的地方使用。這篇文章是一個很好的參考優點/缺點:

http://www.informit.com/articles/article.aspx?p=31724

坦率地說,如果你有興趣,你有可能要考慮了移動到SQL Server Integration Services包真正的全局變量。根據您的要求,這可能更適合您的一杯茶。

http://msdn.microsoft.com/en-us/library/ms141026.aspx