
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
31.01.2003, 14:21
|
|||
|---|---|---|---|
|
|||
Help В триггере ошибка |
|||
|
#18+
BEGIN IF EXISTS ( SELECT ID FROM inserted WHERE (Condition = 2) AND (Category = 2) ) THEN sp_UpdateBaseSalary(0); END IF; IF EXISTS (SELECT ID FROM inserted WHERE (Condition = 2) AND (Category = 1) ) THEN sp_ModifyTotalTariffRate(0); END IF; END; Почему и в одном и во втором EXISTS появляется ошибка PLS-00204: функция или псевдо-столбец 'EXISTS' могут быть использованы только внутри оператора SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2003, 14:41
|
|||
|---|---|---|---|
|
|||
Help В триггере ошибка |
|||
|
#18+
обычай такой. не используют так exists(). может так? for rec in (select ID from inserted where (Condition = 2) and (category = 2)) loop sp_UpdateBaseSalary(0); exit; end loop; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2003, 15:02
|
|||
|---|---|---|---|
|
|||
Help В триггере ошибка |
|||
|
#18+
А что значит rec ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2003, 15:07
|
|||
|---|---|---|---|
|
|||
Help В триггере ошибка |
|||
|
#18+
rec - переменная типа %ROWTYPE записи, возвращаемой select'ом. её не надо описывать в declare ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2003, 15:19
|
|||
|---|---|---|---|
|
|||
Help В триггере ошибка |
|||
|
#18+
Ни черта не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2003, 15:33
|
|||
|---|---|---|---|
|
|||
Help В триггере ошибка |
|||
|
#18+
В Оракле нельзя просто так написать if exist, хотя, на мой взгляд, жаль, мне такая конструкция нравится. Раз уж переползаешь с Sybase или MSSQL, можешь сделать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2003, 15:46
|
|||
|---|---|---|---|
|
|||
Help В триггере ошибка |
|||
|
#18+
если хош вообще без exception-ов типа NO_DATA_FOUND, то можно select sp_UpdateBaseSalary(0) from dual where EXISTS ( SELECT ID FROM inserted WHERE (Condition = 2) AND (Category = 2) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2003, 15:51
|
|||
|---|---|---|---|
|
|||
Help В триггере ошибка |
|||
|
#18+
А в Oracle есть такое понятие INSERTED как SQL Server ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1991979]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
217ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 563ms |

| 0 / 0 |
