|
|
|
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:21 |
|
||
|
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, 14:41 |
|
||
|
Help В триггере ошибка
|
|||
|---|---|---|---|
|
#18+
А что значит rec ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2003, 15:02 |
|
||
|
Help В триггере ошибка
|
|||
|---|---|---|---|
|
#18+
rec - переменная типа %ROWTYPE записи, возвращаемой select'ом. её не надо описывать в declare ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2003, 15:07 |
|
||
|
Help В триггере ошибка
|
|||
|---|---|---|---|
|
#18+
Ни черта не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2003, 15:19 |
|
||
|
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:33 |
|
||
|
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:46 |
|
||
|
Help В триггере ошибка
|
|||
|---|---|---|---|
|
#18+
А в Oracle есть такое понятие INSERTED как SQL Server ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2003, 15:51 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32099625&tid=1991979]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
288ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 198ms |
| total: | 603ms |

| 0 / 0 |
