【发布时间】:2014-08-28 17:43:34
【问题描述】:
我有一个包含以下内容的安装脚本:
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?
【问题讨论】:
标签: sql-server information-schema advanced-installer