Вы знаете, как мы могли бы использовать:

dateStamp DATE DEFAULT sysdate

Для присвоения значения по умолчанию столбцу в table_x. Что, если я хочу назначить функцию по умолчанию? Могу ли я сделать это?

Функция будет иметь некоторые значения из «table_params» для выполнения некоторой формулы, включая столбец с именем «base» в table_x.

Я мог бы написать курсор для перебора и запуска оператора обновления, но мне было просто любопытно, возможно ли это. заранее спасибо.

1
CFNinja 26 Авг 2011 в 00:24

2 ответа

Лучший ответ

Вы можете написать триггер INSERT для таблицы, вызывающей нужную вам функцию.

2
Lost in Alabama 25 Авг 2011 в 20:33

Из документации Oracle:

Ограничение значений столбца по умолчанию
Выражение DEFAULT не может содержать ссылки на функции PL / SQL или на другие столбцы, псевдостолбцы CURRVAL, NEXTVAL, LEVEL, PRIOR и ROWNUM или дата константы, которые не указаны полностью.

Либо используйте триггер (как уже упоминалось), либо запустите оператор UPDATE после оператора (ов) INSERT (не должно быть проблем, если вы храните свой DML в PL / SQL).

3
phil 25 Авг 2011 в 20:57