在SQL Server中:
INFORMATION_SCHEMA和sysobjects之间有什么区别?一个人提供的信息多于另一个,还是通常用于不同的事情?
sysobjects与sys.objects相同吗?如果没有,这些之间有什么区别?
答案 0 :(得分:33)
INFORMATION_SCHEMA是SQL-92标准的一部分,所以它不太可能像sysobjects一样经常更改。
视图提供了SQL Server元数据的内部系统表独立视图。即使对底层系统表进行了重大更改,它们也能正常工作。
查询INFORMATION_SCHEMA总是好得多,因为它隐藏了sysobjects中对象的实现细节。
答案 1 :(得分:7)
INFORMATION_SCHEMA
是ANSI标准,在SQL Server实现中有点夸张。 sysobjects
特定于SQL Server。旧版本的SQL Server不支持它。
因此INFORMATION_SCHEMA
更易于移植(适用于其他数据库),并且比sysobjects更容易使用。如果它有您需要的信息,我会选择INFORMATION_SCHEMA
。
sys.objects sysobjects
仅适用于SQL 2000的可移植性。