SQL Server 2008 でのテーブルの存在と作成の確認
SQL Server 2008 では、テーブルが存在するかどうかを確認する機能が共通の要件となります。データベース内に作成し、そうでない場合はその場で作成します。これは、動的テーブル作成を伴うデータ操作ルーチンまたはシナリオで特に役立ちます。
テーブルの存在の確認
データベースにテーブルが存在するかどうかを確認するには、次の構文を使用します。 :
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TableName]') AND type in (N'U'))
ここでは、sys.objects システム テーブルをクエリして、指定されたオブジェクトが存在するかどうかを判断します。名前とタイプ (この場合はテーブル) が dbo スキーマに存在します。クエリが行を返さない場合、テーブルは存在しません。
テーブルが存在しない場合の作成
テーブルが存在しない場合にテーブルを作成するには、次のようにします。 CREATE TABLE ステートメントを使用します。例:
CREATE TABLE [dbo].[TableName]( .... .... .... )
チェックの結合
次のように条件ステートメントを使用して、テーブルの存在チェックと作成を 1 つのステートメントに結合できます。
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TableName]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[TableName]( .... .... .... ) END
以上がSQL Server 2008 テーブルが存在しない場合にそれを確認して作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。