Подтвердить что ты не робот

ИНФОРМАЦИЯ_SCHEMA vs sysobjects

В SQL Server:

В чем разница между INFORMATION_SCHEMA и sysobjects? Предоставляет ли кто-нибудь больше информации, чем другая, или обычно используется для разных вещей?

Является ли sysobjects таким же, как sys.objects? Если нет, в чем разница между ними?

4b9b3361

Ответ 1

INFORMATION_SCHEMA является частью стандарта SQL-92, поэтому он вряд ли изменится почти так же часто, как sysobjects.

Представления предоставляют внутренний, системный, независимый от таблицы вид метаданных SQL Server. Они работают корректно, даже если в базовые системные таблицы были внесены существенные изменения.

Вы всегда гораздо лучше запрашиваете INFORMATION_SCHEMA, потому что он скрывает детали реализации объектов в sysobjects.

Ответ 2

INFORMATION_SCHEMA является стандартом ANSI, в некоторой степени реализованным в его реализации SQL Server. sysobjects относится к SQL Server. Старые версии SQL Server не поддерживали его.

So INFORMATION_SCHEMA более портативен (работает в другой базе данных) и несколько проще в использовании, чем sysobjects. Если у вас есть информация, которая вам нужна, я бы пошел за INFORMATION_SCHEMA.

sys.objects sysobjects существует только для переносимости SQL 2000.