如果数据库不存在,我正在尝试编写一个小脚本来创建数据库,如果该表不存在,则为该数据库创建一个表。我所拥有的是:
IF (db_id('db') is null) BEGIN
print 'Must create the database!';
CREATE DATABASE db;
END
USE db;
IF (object_id('test_table', 'U') is null) BEGIN
print 'Must create the table!';
CREATE TABLE test_table (
id int
);
END
我遇到了一个奇怪的错误:
Database 'db' does not exist. Make sure that the name is entered correctly.
我猜它在运行之前解析脚本并发现'db'不存在,所以它不能使用它。
必须有一个解决方案。任何帮助表示赞赏。
解决了!
发布 5 分钟后,我意识到 GO 关键字解决了问题。这是固定代码:
IF (db_id('db') is null) BEGIN
print 'Must create the database!'
CREATE DATABASE db;
END
GO
USE db
IF (object_id('test_table', 'U') is null) BEGIN
print 'Must create the table!';
CREATE TABLE test_table (
id int
);
END
很抱歉浪费了大家的时间。