Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как сделать свое, вычисляемое значение по умолчанию / 16 сообщений из 16, страница 1 из 1
01.08.2006, 06:50
    #33890734
panu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
Adaptive Server Anywhere Network Server Version 9.0.2.3320
здравствуйте люди добрые!
как сделать так чтобы значение по умолчанию, поля таблицы было результат запроса:
SELECT "ASAadministrator"."Employers"."ID_Employer"
FROM "ASAadministrator"."Employers"
WHERE "ASAadministrator"."Employers"."EmployerLogin" = CURRENT USER;

есть значение по умолчанию : CURRENT USER но это не есть желаемое, т.к. хочется иметь именно ID юзвера из своей таблички "Employers"

С уважением
Александр Плотников.
...
Рейтинг: 0 / 0
01.08.2006, 08:19
    #33890781
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
На триггере before insert задавать нужное значение поля, если оно NULL


Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
01.08.2006, 09:19
    #33890870
panu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
а результат работы функции - никак,
тогда жаль
С уважением
Александр Плотников.
...
Рейтинг: 0 / 0
01.08.2006, 09:50
    #33890938
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
Что жаль? Свои пальчики? Триггер то элементарнейший:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
ALTER TRIGGER tib_setProdAuthor BEFORE INSERT
  ORDER  1  ON ns.products
  REFERENCING NEW AS new_name
  FOR EACH ROW
BEGIN
  IF new_name.author IS NULL THEN
    SET new_name.author=ns.idByLogin(current user);
  END IF;
END


Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
01.08.2006, 13:48
    #33891834
panu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
да даже и не знаю что именно жаль, пальчики, навряд ли, жаль простоту и красивость. согласитель было б не плохо иметь возможность создавать свои значения по умолсанию, а выйти из любой ситуации можно... просто бывает: долго, трудно, нудно.
С уважением
Александр Плотников.
...
Рейтинг: 0 / 0
01.08.2006, 14:18
    #33891978
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
Этот триггер по сути и есть выставление значений по-умолчанию.
Может и было бы красивее. Так в чем проблема? Разработчики ASA открыты для дискуссий по поводу того, чего хотелось бы. Пиши в sybase.public.sqlanywhere.product_futures_discussion
...
Рейтинг: 0 / 0
01.08.2006, 14:24
    #33892003
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
А по поводу красивости еще и поспорить можно. Функции в ASA могут делать то же, что и процедуры, т.е. практически все. Напишу функцию, меняющую данные в половине базы и воткну дефолтным значением. Делаем простой селект и получаем изменения, хотя триггеров нет, явно вызванных изменений кроме собственно вставки нет, есть только какое-то дефолтное значение... Лично мне это красивым не кажется.
...
Рейтинг: 0 / 0
01.08.2006, 15:11
    #33892225
Aleksey Kh.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
Что-то я не уверен, что при селекте дефолтное значение присваивается
???
...
Рейтинг: 0 / 0
01.08.2006, 15:38
    #33892344
Vinogradov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
panuAdaptive Server Anywhere Network Server Version 9.0.2.3320
здравствуйте люди добрые!
как сделать так чтобы значение по умолчанию, поля таблицы было результат запроса:
SELECT "ASAadministrator"."Employers"."ID_Employer"
FROM "ASAadministrator"."Employers"
WHERE "ASAadministrator"."Employers"."EmployerLogin" = CURRENT USER;

есть значение по умолчанию : CURRENT USER но это не есть желаемое, т.к. хочется иметь именно ID юзвера из своей таблички "Employers"

С уважением
Александр Плотников.


В поле Value в раздел вычисляемое значение поставте вызов функции, например:
db_property('GlobalDBId')
Таким способом фиксирую № БД и в консолидированной БД вижу откуда пришла запись
...
Рейтинг: 0 / 0
04.08.2006, 11:07
    #33899169
panu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
очень большое спасибо помогло, но частично. я как то и совлем не поглядел в ету сторону, хотя знал и подобнам путем решал подобные задачи.
еще попутный вопрос как нить можно закинуть в Value->Default value->System-defined в тот списочек. вот чего я хочу.
все от лени и от лукавого...
С уважением
Александр Плотников.
...
Рейтинг: 0 / 0
08.08.2006, 14:53
    #33905655
panu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
функция в поле Value вычисляется каждый раз при изменении строки
...
Рейтинг: 0 / 0
08.08.2006, 17:55
    #33906295
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
А ты почитай повнимательнее описание функций. Особенно параметр [ NOT ] DETERMINISTIC Он как раз отвечает на вопрос нужно ли пересчитывать функцию каждый раз при запуске или можно взять посчитаное значение из кэша.

---
http://www.rusug.ru] Портал рускоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
09.08.2006, 05:32
    #33906875
panu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
я очень сожалею, что не умею изъяснятся так - чтобы было понятно сразу и всем.
значение по умолчанию я полагаю это значение поля при создании строки
а в случае: В поле Value в раздел вычисляемое значение поставте вызов функции, например: db_property('GlobalDBId')
-значение вычисляемое каждый раз при изменении строки наверное это правильно но это не отвечает поставленному мной вопросу.
С уважением
Александр Плотников.
...
Рейтинг: 0 / 0
09.08.2006, 05:37
    #33906877
panu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
>>А ты почитай повнимательнее описание функций. Особенно параметр [ NOT ] DETERMINISTIC Он как раз отвечает на вопрос нужно ли пересчитывать функцию каждый раз при запуске или можно взять посчитаное значение из кэша.
это канечна все правильно, с одной маленькой оговоркой: перезапустить сервер БД и функция при первом вызове исполнится т.к. кэш будет пустым т.к. не будет на переданное значение нужного ответа
я так думаю.

С уважением
Александр Плотников.
...
Рейтинг: 0 / 0
09.08.2006, 10:11
    #33907152
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
Aleksey Kh.Что-то я не уверен, что при селекте дефолтное значение присваивается
???
Конечно нет. Я оговорился. имелось в виду "делаем простой insert"
...
Рейтинг: 0 / 0
09.08.2006, 17:52
    #33908929
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать свое, вычисляемое значение по умолчанию
panuэто канечна все правильно, с одной маленькой оговоркой: перезапустить сервер БД и функция при первом вызове исполнится т.к. кэш будет пустым т.к. не будет на переданное значение нужного ответа
я так думаю.И? Что тебя смущает?
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как сделать свое, вычисляемое значение по умолчанию / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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