の使用法を試しているところ、MSDNで次のエントリOBJECT_IDが見つかりました。
「スキーマ スコープ オブジェクトのデータベース オブジェクト識別番号を返します。」
データベース オブジェクトの識別番号とは何ですか。また、スキーマ スコープ オブジェクトとは何ですか。私は最初よりも混乱しているようです。
の使用法を試しているところ、MSDNで次のエントリOBJECT_IDが見つかりました。
「スキーマ スコープ オブジェクトのデータベース オブジェクト識別番号を返します。」
データベース オブジェクトの識別番号とは何ですか。また、スキーマ スコープ オブジェクトとは何ですか。私は最初よりも混乱しているようです。
はOBJECT_ID、システム ベース テーブル内でオブジェクトを一意に識別するために使用されます。
sys.sysschobjsこれは、メタデータ ビューで使用されるベース テーブル の主キーであり、sys.objects他の多くのメタデータ ビューに表示されます。例えばsys.partitions。これらのビューをクエリしていない場合object_id、以下のようにオブジェクトの存在をチェックする場合を除いて、 はあまり役に立ちません。
IF OBJECT_ID('T', 'U') IS NULL
/*Table T does not exist or no permissions*/
スキーマ スコープ オブジェクトは、スキーマ (テーブル、ビュー、ストアド プロシージャなど) に属するオブジェクトです。MSDN の記事では、DDL トリガーの非スキーマ スコープ オブジェクトの例を示しています。
これらを作成するときにスキーマを指定しようとするとエラーになります
CREATE TRIGGER dbo.SomeTrigger /*Will Fail*/
ON DATABASE
FOR DROP_SYNONYM
AS
PRINT 'SomeTrigger'
非スキーマ スコープ オブジェクトのメタデータは引き続き格納されますsys.sysschobjsが、ビューには表示されませんsys.objects。