在SQL Server中:INFORMATION_SCHEMA vs sysobjects
INFORMATION_SCHEMA和sysobjects有什麼區別?一個人提供比另一個更多的信息嗎?或者他們通常用於不同的事情?
sysobjects是否與sys.objects相同?如果沒有,這些有什麼區別?
在SQL Server中:INFORMATION_SCHEMA vs 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目錄表 – 2010-12-07 22:17:11
`sysobjects`從SQL Server 2005開始被棄用 - 使用`sys`模式中的目錄視圖來代替:`sys.tables`,`sys.indexes`等等 – 2010-12-07 22:16:23