1 データベースが存在するかどうかを判断する もし存在する場合(sys.databasesから*を選択し、name = 'database name') ドロップデータベース [データベース名] 2 表が存在するかどうかを判断する もし存在する場合(id = object_id(N'[table name]') と OBJECTPROPERTY(id, N'IsUserTable') = 1 のsysObjectobjectsから*を選択) ドロップテーブル [テーブル名] 3 ストアドプロシージャが存在するかどうかを判定する もし存在する場合(id = object_id(N'[ストアドプロシージャ名]') およびOBJECTPROPERTY(id, N'IsProcedure') = 1 のsysobjectsから*を選択する) ドロップ手続き [ストアドプロシージャ名]
4 一時テーブルが存在するかどうかを判断する もしobject_id('tempdb.. #临时表名')は零ではない ドロップテーブル #临时表名 5 そのビューが存在するかどうかを判断する - 「MyView52」への試みがあるかどうかを判断する もし存在すれば(INFORMATION_SCHEMAからTABLE_NAMEを選択。 ビュー TABLE_NAME = N'MyView52') 印刷「存在」 そうでなければ PRINTは「存在しません」 6 関数が存在するかどうかを判定する -- 作成する関数名が存在するかどうかを判定します もし存在する場合(dbo.sysobjectsから* を選択、id = object_id(N'[dbo].[ 関数名]')およびxtype(N'FN', N'IF', N'TF'))に含まれます。 ドロップ関数[DBO]。 [関数名] 7 ユーザーが作成したオブジェクトの情報を取得する SELECT [name],[id],crdate FROM sysobjects で xtype='U'
8 列が存在するかどうかを判定する もし存在する場合(syscolumnsから*を選択、id=object_id(「テーブル名」)およびname='column name') テーブル名を変える テーブル名 削除 列名 9 列が自己増分かどうかを判定する もし columnproperty(object_id('table'),'col','IsIdentity')=1 の場合 印刷「自己加算」 そうでなければ 印刷「自己添加ではない」
SYS.columns から * を object_id=OBJECT_ID(「テーブル名」)かつ is_identity=1 で選択します。 10 表にインデックスが存在するかどうかを判定する
もし存在する場合(sysindexesから * を選択 id=object_id('table name') および name='index name') 印刷物「存在」 そうでなければ 印刷物は「存在しません」 11 データベース内のオブジェクトを見る SELECT * FROM sys.sysobjects WHERE name='object name' SELECT * FROM sys.sysobjects WHERE name='object name' |