Вопрос про функции в SQL Server.
Подскажите, плиз – я до этого с функциями не работала.
Вопрос собственно такой – если для того, чтобы запустить скалярную функцию, требуется указать еще owner перед именем функции, то как быть в ситуации, когда я не знаю, под каким owner’ом будет все это вызываться. (веб-приложение работает с базой под каким-то неизвестным мне owner.)
Может вообще можно обойтись без функций? Мне вообще надо значение поля устанавливать в зависимости от значения других полей этой и других таблиц путем вычислений с использований аггрегатных функций. Не хочется вешать это на триггер – во-первых, тяжеловато будет на update поля, во-вторых, совсем не видно, когда это самое поле обновляется, клиент любит забывать про триггера. А так: set fieldname = dbo.MyFunсtion(...).
Вот только будет ли работать это, если тот запрос или хранимая процедура, в которой написано это самое присвоение вызывается не под dbo? Какие права кому нужно для этого установить?
Вопрос про функции в SQL Server.
-
- Уже с Приветом
- Posts: 1165
- Joined: 03 Jul 2002 20:43
- Location: AU
Вопрос про функции в SQL Server.
Не сиди, сложа руки... Сегодня первый день из тех, что тебе остались!
-
- Уже с Приветом
- Posts: 1152
- Joined: 03 Jan 2002 10:01
- Location: NJ --> MA
Создать под dbo.И работать будет. А вообще поле создать как:
Code: Select all
CREATE TABLE ....
(........
[field] AS ([dbo].[function](......))
......)
Водку? Водку буду!
-
- Уже с Приветом
- Posts: 1513
- Joined: 03 Apr 2001 09:01
- Location: London, UK
Re: Вопрос про функции в SQL Server.
owner функции определяется при ее создании, а не при ее вызове. Просто пишите владельца всегда во всех своих запросах, не оставляя SQL Server'у возможностей гадать.
-
- Уже с Приветом
- Posts: 1152
- Joined: 03 Jan 2002 10:01
- Location: NJ --> MA