SqlServerにおけるGOキーワードの理解
831 ワード
sqlServerでのGOキーワードの役割は何ですか?
作用 GOキーワードを使用してバッチを分割します.各GOで区切られた文は個別のトランザクションであり、1つの文の実行に失敗しても他の文の実行には影響しません.
例:
テーブルsysobjectsにはkkというフィールドがなく、GOキーを使用して2つのsql文を区切っていないため、クエリはレコードを返しません.
この2つのsql文をGOで区切ると、GO以上のsql文が間違っていても、GOの下のsql文は通常通り実行されます.
使用シーン ビューの作成(create view)など、最初の行にのみ実行できる文があるので、create viewの前にGOを付けることができます.
例:
GOを削除するとビューの作成に失敗します.
例:
/** Not use 'GO' to split **/
SELECT * FROM sysobjects WHERE kk = 'a';
SELECT GETDATE();
テーブルsysobjectsにはkkというフィールドがなく、GOキーを使用して2つのsql文を区切っていないため、クエリはレコードを返しません.
/** use 'GO' to split **/
SELECT * FROM sysobjects WHERE kk = 'a';
GO
SELECT GETDATE();
この2つのsql文をGOで区切ると、GO以上のsql文が間違っていても、GOの下のsql文は通常通り実行されます.
例:
CREATE VIEW kk_view AS SELECT GETDATE() date;
GO
CREATE VIEW kk1_view AS SELECT GETDATE() date;
GOを削除するとビューの作成に失敗します.