1

データベースが存在しない場合はデータベースを作成し、テーブルが存在しない場合はそのデータベースのテーブルを作成する小さなスクリプトを作成しようとしています。私が持っているのはこれです:

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

みんなの時間を無駄にしてごめんなさい。

4

3 に答える 3