OBJECTPROPERTY()
を使用できます SQL Serverの関数を使用して、オブジェクトがビューであるかどうかを確認します。
この関数は、オブジェクトIDと、それをチェックするプロパティの2つのパラメータを受け入れます。
したがって、最初の引数としてオブジェクトIDを渡すことができ、IsView
2番目として、関数は1
のいずれかを返します または0
ビューかどうかによって異なります。
1
の戻り値 であることを意味します ビュー、および0
の値 そうではないことを意味します。
例1-基本的な使用法
簡単な例を次に示します。
USE Music; SELECT OBJECTPROPERTY(1525580473, 'IsView') AS [IsView];
結果:
+----------+ | IsView | |----------| | 1 | +----------+
この場合、音楽 データベースには、提供されたIDを持つオブジェクトがあり、それはビューです。
例2–オブジェクトIDの取得
オブジェクトの名前はわかっているがIDはわかっていない場合は、OBJECT_ID()
を使用できます。 名前に基づいてIDを取得する関数。
例:
SELECT OBJECTPROPERTY(OBJECT_ID('RockAlbums'), 'IsView') AS [IsView];
結果:
+----------+ | IsView | |----------| | 1 | +----------+
この場合、前の例と同じオブジェクトをチェックしました。
ここでも、IDが個別に出力されます。
SELECT OBJECT_ID('RockAlbums') AS [Object ID], OBJECTPROPERTY(OBJECT_ID('RockAlbums'), 'IsView') AS [IsView];
結果:
+-------------+----------+ | Object ID | IsView | |-------------+----------| | 1525580473 | 1 | +-------------+----------+
例3–オブジェクトがビューではない場合
オブジェクトがビューでない場合は、次のようになります。
SELECT OBJECTPROPERTY(885578193, 'IsView') AS [IsView];
結果:
+----------+ | IsView | |----------| | 0 | +----------+
この場合、データベースはします 実際にはそのIDのオブジェクトがありますが、オブジェクトは実際にはテーブルであるため、否定的な結果が得られます。
ここでもOBJECT_ID()
を使用しています 。
SELECT OBJECT_ID('Artists') AS [Object ID], OBJECTPROPERTY(OBJECT_ID('Artists'), 'IsView') AS [IsView];
結果:
+-------------+----------+ | Object ID | IsView | |-------------+----------| | 885578193 | 0 | +-------------+----------+
例4–オブジェクトが存在しない
SQL Serverは、オブジェクトIDが現在のデータベースコンテキストにあると想定します。別のデータベースからオブジェクトIDを渡すと、NULLの結果が得られるか、誤った結果が得られます。
SELECT OBJECTPROPERTY(OBJECT_ID('NonExistentObject'), 'IsView') AS [NonExistentObject], OBJECTPROPERTY(11111111, 'IsView') AS [11111111];
結果:
+---------------------+------------+ | NonExistentObject | 11111111 | |---------------------+------------| | NULL | NULL | +---------------------+------------+
この場合、データベースにはその名前またはIDのオブジェクトが含まれていないため、結果はNULLになります。
エラーが発生した場合、またはオブジェクトを表示する権限がない場合にもNULLが発生します。