我想編寫一個TSQL存儲過程,它創建一個具有指定名稱的數據庫,並預先使用某個模式填充它。如何在存儲過程中使用模式創建新的數據庫?
於是我就用大量的EXEC聲明:
EXEC('CREATE TABLE ' + @dbName + '.dbo.MyTable (...)');
等,具有一定的CREATE PROCEDURE
,CREATE FUNCTION
一起等。但是,問題來自於當我想創建一個類型,CREATE TYPE語句不能指定了數據庫,並且在存儲過程中不能有USE @dbName
。
如何在存儲過程的另一個數據庫中創建一個類型?
爲什麼你想創建一個存儲過程中的數據庫和模式???這似乎有點奇怪 - 通常,DML語句不應該從存儲過程中執行 - 您只需執行一次設置您的環境,然後完成它。 – 2012-01-10 16:39:56
我想創建任意數量的數據庫在我們的應用程序的輸入上(每個客戶一個數據庫) – thecoop 2012-01-10 16:57:53
創建數據庫備份,然後每次要添加一個新的邏輯名稱和文件名時恢復它。 – 2012-01-10 17:00:51