我有一個包含一個安裝腳本如下:檢查:表中是否存在SQL Server數據庫?
IF NOT EXISTS(
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_CATALOG = 'mydatabasename'
AND TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'sometablename'
AND TABLE_TYPE = 'BASE TABLE'
)
CREATE TABLE dbo.sometablename ...
問題是,
- 我必須讓用戶選擇不同的數據庫名
- 我不能使用任何佔位符(「變量「)在腳本中。
- 數據庫服務器中當然可含有已經包含一個表
sometablename
在執行腳本之前安裝程序會對一個USE mydatabasename
不同的數據庫;安裝程序允許爲此選擇一個變量數據庫名稱。但是,我不能在腳本中使用該變量,因爲SQL腳本中的每個替換都已在安裝程序構建時完成。
那麼,如何檢查使用的數據庫是否已經包含表sometablename
?