SQL Serverの場合INFORMATION_SCHEMAとsysobjects
INFORMATION_SCHEMAとsysobjectsの違いは何ですか?他の情報より多くの情報を提供するのか、通常は異なるものに使用するのか?
sysobjectsはsys.objectsと同じですか?そうでない場合、これらの違いは何ですか?
SQL Serverの場合INFORMATION_SCHEMAとsysobjects
INFORMATION_SCHEMAとsysobjectsの違いは何ですか?他の情報より多くの情報を提供するのか、通常は異なるものに使用するのか?
sysobjectsはsys.objectsと同じですか?そうでない場合、これらの違いは何ですか?
INFORMATION_SCHEMAはSQL-92標準の一部であるため、sysobjectsとほぼ同じくらい頻繁に変更する可能性は低いです。
これらのビューは、SQL Serverメタデータのシステムテーブルに依存しない内部ビューを提供します。基礎となるシステムテーブルに大幅な変更が加えられた場合でも、これらは正しく動作します。
INFORMATION_SCHEMAは、sysobjects内のオブジェクトの実装の詳細が隠されているため、常に照会するほうがずっと優れています。
INFORMATION_SCHEMA
はANSI標準であり、SQL Server実装では多少の程度です。 sysobjects
はSQL Server固有のものです。古いバージョンのSQL Serverではサポートされていませんでした。
したがって、INFORMATION_SCHEMA
は移植性が高く(他のデータベースでも動作します)、sysobjectsよりやや使いやすくなります。必要な情報があればINFORMATION_SCHEMA
に行きます。
sys.objects
sysobjects
は、SQL 2000移植性のためだけに存在します。
実際には 'sys.objects'は新しいSQL Server 2005バージョンのカタログビュー。 'sysobjects'(ドットなし)は、旧式の下位互換SQL Server 2000カタログテーブル –
です。残念ながら、sys.sysobjectsを意味しました(残念ながら、元のテキストをコピーしました...)。 /en-us/library/ms177596.aspx –
'sysobjects'はSQL Server 2005のように廃止されました。代わりに' sys'スキーマのカタログビューを使用してください: 'sys.tables'、' sys.indexes'など –