Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / функция OBJECT_ID / 13 сообщений из 13, страница 1 из 1
30.06.2018, 11:11
    #39667824
Лёхан
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функция OBJECT_ID
MS SQL Server 2000. При проверке существования возвращающей табличное значение функции 'fun_multi':
IF OBJECT_ID('fun_multi', 'TF') IS NOT NULL
выдается сообщение:
Invalid parameter 2 specified for object_id.
Хотя:
IF EXISTS (SELECT * FROM sysobjects WHERE (name = 'fun_multi') AND (xtype = 'TF') AND (type = 'TF'))

отрабатывается нормально!
Да и в MS SQL Server 2012 проблем нет. В чем проблема при использовании OBJECT_ID(..., ...)?
...
Рейтинг: 0 / 0
30.06.2018, 11:15
    #39667826
tunknown
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функция OBJECT_ID
ЛёханIF OBJECT_ID('fun_multi', 'TF') IS NOT NULL
...
sysobjectsЕсли я правильно понял вопрос, то второй параметр OBJECT_ID не всегда соответствует sysobjects.xtype. Надо подбирать другое значение(поискать в ***\***.MSSQLSERVER\MSSQL\Install\*.sql) или оставлять только первый параметр.
...
Рейтинг: 0 / 0
30.06.2018, 14:01
    #39667854
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функция OBJECT_ID
ЛёханMS SQL Server 2000.
SQL Server 2012

В чем проблема при использовании OBJECT_ID(..., ...)?

Дык, MS SQL Server 2000 не поддерживал второй параметр.
...
Рейтинг: 0 / 0
02.07.2018, 02:04
    #39668115
Лёхан
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функция OBJECT_ID
aleks222! Благодарю.
Т.е. имена всех объектов д.б. уникальны? Ну ладны. Тема закрыта.
...
Рейтинг: 0 / 0
02.07.2018, 03:08
    #39668118
Лёхан
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функция OBJECT_ID
aleks222
Хотя...
А какого Х срабатывает
IF OBJECT_ID('proc_a_e_users_', 'P') IS NOT NULL
???
...
Рейтинг: 0 / 0
02.07.2018, 09:28
    #39668174
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функция OBJECT_ID
Лёханaleks222
Хотя...
А какого Х срабатывает
IF OBJECT_ID('proc_a_e_users_', 'P') IS NOT NULL
???Официально до 2005 OBJECT_ID был с одним аргументом, а второй был недокументирован, видимо, он может принимать не все значения...
...
Рейтинг: 0 / 0
02.07.2018, 10:11
    #39668194
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функция OBJECT_ID
Лёхан,

потому что OBJECT_ID смотрит на sys.objects, а вы смотрите на sys.sysobjetcs и это разные представления на разные объекты и TF там только с 2012
...
Рейтинг: 0 / 0
04.07.2018, 07:34
    #39669215
Лёхан
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функция OBJECT_ID
alexeyvg, благодарю!
Видимо в 2000 так и есть. В принципе, не очень актуально.
Просто в РАЗОВОМ заказе сделал проверку в 2000 по аналогии с 2012
и столкнулся с этой фишкой. Захотелось разобраться.
Скорее всего, дело во 2-ом аргументе (принимаемых им значениях). Ну да ладны.
...
Рейтинг: 0 / 0
04.07.2018, 09:13
    #39669246
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функция OBJECT_ID
ЛёханПросто в РАЗОВОМ заказе сделал проверку в 2000 по аналогии с 2012
и столкнулся с этой фишкойЯ, честно говоря, не понимаю, откуда вдруг взялась мода использовать второй аргумент OBJECT_ID. Я могу представить, когда это необходимо, но это уж совсем навороченные случаи.
...
Рейтинг: 0 / 0
04.07.2018, 18:37
    #39669654
cossack5
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функция OBJECT_ID
alexeyvgЛёханПросто в РАЗОВОМ заказе сделал проверку в 2000 по аналогии с 2012
и столкнулся с этой фишкойЯ, честно говоря, не понимаю, откуда вдруг взялась мода использовать второй аргумент OBJECT_ID. Я могу представить, когда это необходимо, но это уж совсем навороченные случаи.
Это в коде системных хранимок вроде встречается со вторым аргументом.
...
Рейтинг: 0 / 0
05.07.2018, 09:51
    #39669831
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функция OBJECT_ID
cossack5alexeyvgпропущено...
Я, честно говоря, не понимаю, откуда вдруг взялась мода использовать второй аргумент OBJECT_ID. Я могу представить, когда это необходимо, но это уж совсем навороченные случаи.
Это в коде системных хранимок вроде встречается со вторым аргументом.И что, системные процедуры стали выдавать ошибки при выполнении? :-) Встречается, и бог с ними.
Не надо слепо копировать кривой код из системных процедур.
...
Рейтинг: 0 / 0
05.07.2018, 10:59
    #39669882
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функция OBJECT_ID
alexeyvgЛёханПросто в РАЗОВОМ заказе сделал проверку в 2000 по аналогии с 2012
и столкнулся с этой фишкойЯ, честно говоря, не понимаю, откуда вдруг взялась мода использовать второй аргумент OBJECT_ID. Я могу представить, когда это необходимо, но это уж совсем навороченные случаи.Хочу обратиться к таблице, но такой нет. Зато есть процедура с таким именем.
Без второго параметра в этом случае как-то не так удобно.
...
Рейтинг: 0 / 0
05.07.2018, 11:19
    #39669904
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
функция OBJECT_ID
iapalexeyvgпропущено...
Я, честно говоря, не понимаю, откуда вдруг взялась мода использовать второй аргумент OBJECT_ID. Я могу представить, когда это необходимо, но это уж совсем навороченные случаи.Хочу обратиться к таблице, но такой нет. Зато есть процедура с таким именем.
Без второго параметра в этом случае как-то не так удобно.Вот про это я и говорю "могу представить" :-)
То есть некая навороченная динамическая система с собственными метаданными и т.д.
Чтож, если такая система, можно и запрос к системным представлениям сделать, ведь не нерешаемая задача.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / функция OBJECT_ID / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]