|
|
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Пока разработчики перегружены, процедуры приходится пробовать писать самому. Необходима была процедура для записи результата в лог-таблицу. Покурил интернеты, набросал процедуру[SRC PLSQL]CREATE OR REPLACE PACKAGE pkg_log IS PROCEDURE p_log_write(SysId p_log.sysid%TYPE, SysNum p_log.sysnum%TYPE, Dtime p_log.dtime%TYPE, icount p_log.icount%TYPE, istate p_log.istate%TYPE, icall p_log.icall%TYPE, ddate p_log.idate%TYPE, res p_log.result%TYPE) as pragma autonomous_transaction; begin insert into p_log (SysId, SysNum, Dtime, icount, istate, icall, ddate, res) values (SysId, SysNum, Dtime, icount, istate, icall, sysdate, res); commit; end p_log_write; END pkg_log;[/SRC] При компиляции валятся ошибки: Error: PLS-00103: Encountered the symbol "PRAGMA" when expecting one of the following: language Line: 10 Text: pragma autonomous_transaction; и ругается на последнюю строку пакета Error: PLS-00103: Encountered the symbol "PKG_LOG" when expecting one of the following: ; Line: 19 Text: END pkg_log; В чем проблема? Руки не из того места? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 15:49 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzz Руки не из того места? Да. В package размещают декларацию. Реализация в package body. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 15:52 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzz, Не называйте переменные теми-же именами что и поля в таблице. Это потенциальный выстрел в ногу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 16:05 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
MaximaXXLНе называйте переменные теми-же именами что и поля в таблице. Это потенциальный выстрел в ногу. Не потенциальный. Вполне себе реальный и прицельный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 16:07 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous , так лучше (не в плане одинаковости названий полей и переменных)? ?CREATE OR REPLACE PACKAGE pkg_log IS PROCEDURE p_log_write(SysId p_log.sysid%TYPE, SysNum p_log.sysnum%TYPE, Dtime p_log.dtime%TYPE, icount p_log.icount%TYPE, istate p_log.istate%TYPE, icall p_log.icall%TYPE, ddate p_log.idate%TYPE, res p_log.result%TYPE); end pkg_log; CREATE OR REPLACE PACKAGE BODY pkg_log IS PROCEDURE p_log_write(SysId p_log.sysid%TYPE, SysNum p_log.sysnum%TYPE, Dtime p_log.dtime%TYPE, icount p_log.icount%TYPE, istate p_log.istate%TYPE, icall p_log.icall%TYPE, ddate p_log.idate%TYPE, res p_log.result%TYPE) as pragma autonomous_transaction; begin insert into p_log (SysId, SysNum, Dtime, icount, istate, icall, ddate, res) values (SysId, SysNum, Dtime, icount, istate, icall, sysdate, res); commit; end p_log_write; end pkg_log; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 16:26 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousприцельный.Не. Прицельный выстрел в тех, кто наивно полагается на незыблемость преикса П_, это вьюха dba_cube_dependencies. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 16:32 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
-2- , буду в курсе за префиес П. Но от этого легче не станет - таблица называется p_log, названа так давно и не мной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 16:43 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzz -2- , буду в курсе за префиес П. Но от этого легче не станет - таблица называется p_log, названа так давно и не мной Не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 16:49 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzz, параметры без p_ ... values (PKG_LOG.SysId, PKG_LOG.SysNum, PKG_LOG.Dtime, PKG_LOG.icount, PKG_LOG.istate, PKG_LOG.icall, sysdate, PKG_LOG.res); ... параметры c p_ ... values (PKG_LOG.p_SysId, PKG_LOG.p_SysNum, PKG_LOG.p_Dtime, PKG_LOG.p_icount, PKG_LOG.p_istate, PKG_LOG.p_icall, sysdate, PKG_LOG.p_res); ... ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 17:00 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
Код: plsql 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. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 17:06 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous , мне надо через автономную транзакцию - текущий вариант логирования не работает. Причина простая - сначала идет запись в лог, после проверка на результат, который пришел из вне, если там не 0, то rollback и никакой записи в лог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 17:32 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzz andrey_anonymous , мне надо через автономную транзакцию И в чем сложность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 17:33 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous , сложность в том, что я не разработчик. Есть задача, хочу решить ее сам, курю интернеты и форумы и пытаюсь что-то запилить. Такое решение 21454632 тоже не взлетает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 18:34 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzzТакое решение 21454632 тоже не взлетает. А где прагма в декларации-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 18:48 |
|
||
|
Первая процедура
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousGroMoZeKazzzТакое решение 21454632 тоже не взлетает. А где прагма в декларации-то? Блин, форматируте пожалуйста тегом SRC - нифига ж не видно... И это... синтаксические ошибки можно и без форума выловить: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 19:39 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39652651&tid=1883916]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
260ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 618ms |

| 0 / 0 |
