Sql-Server
如何創建數據類型並使其在所有數據庫中可用?
如果我在主數據庫中創建一個儲存過程,並且我想從我的任何數據庫中執行它,我只需點擊此連結:
這給了我這個程式碼範例:
只需按照上面的範例,我就可以從任何數據庫呼叫我的過程。
如果我在 master 中創建一個表數據類型,我如何在我的任何數據庫中使用它?
use master IF NOT EXISTS (select * from sys.types where name = 'theReplicatedTables') CREATE TYPE theReplicatedTables AS TABLE ( OBJ_ID INT NOT NULL, PRIMARY KEY CLUSTERED (OBJ_ID) ); use APIA_Repl_Sub go declare @the_tables [dbo].[theReplicatedTables]
表類型無法做到這一點。您將需要在所有數據庫中複製它。但是,如果您希望在創建新數據庫時使用此表類型,則只需將其添加到模型數據庫中即可。使用表值參數有幾個限制。您甚至不能跨數據庫使用表值參數。在這裡檢查一些細節。
類型無法跨越數據庫門檻值或被標記為系統。因此,您需要在要使用它的每個數據庫中創建該類型。(我不喜歡依賴 master 中的數據或類型之類的東西,因為當你移動到不同的系統時它們會消失。)
對於現有數據庫,您可以在循環中創建類型。對於新數據庫(通過
CREATE DATABASE
),在 中創建類型model
。