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

Можно ли вызвать пользовательскую функцию без имени схемы?

Я использую MS SQL 2005, и когда я создаю функцию, мне нужно поместить имя схемы, чтобы вызвать ее:

select dbo.MyFunc

Все мои таблицы также находятся в схеме "dbo", и мне не нужно, чтобы имя схемы ссылалось на нее, поэтому я хотел бы знать, не хватает ли какой-либо конфигурации, которая могла бы сделать то же самое с функциями.

4b9b3361

Ответ 1

Короткий ответ, нет, это не так.

Вам следует рассмотреть префикс all ваших объектов базы данных с владельцем схемы, чтобы избежать того, чтобы сервер sql "искал".

Это делает ваши заявления более читабельными и дает небольшое увеличение производительности (хотя вы, вероятно, этого не заметите).

С уважением, Ливны

Ответ 2

В отличие от всех других объектов базы данных (таблиц, представлений и хранимых процедур), функции, определенные пользователем, всегда должны иметь имя схемы, когда на них ссылаются. Это причуда SQL Server.

Ответ 3

* Скалярнозначные функции должны вызываться, используя хотя бы двухкомпонентное имя функции

http://msdn.microsoft.com/en-us/library/ms186755.aspx

+1 Родитель

Борик