|
|
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Пишу следующий код: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. в обоих случаях может возникнуть исключение NO_DATA_FOUND Но мне нужно понимать в каком именно случае это исключение возникает, в первом или во втором. читал про исключения объявленные пользователем. но вы этом случае предлагается вызывать его самостоятельно, что-то вроде: Код: plsql 1. 2. И дальше уже в конце (как правило) кода обрабатывать его. Но как вызвать конкретное объявленное пользовательское исключение, если может возникать ошибка NO_DATA_FOUND ? Как понять в каком именно месте возникла эта NO_DATA_FOUND...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 15:37 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 15:54 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015, NO_DATA_FOUND - не исключение! В исключении (exception) ты обрабатываешь NO_DATA_FOUND если нужно) имхо используй логирующую табличку чтобы писать NO_DATA_FOUND возникновение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 16:00 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
saxarockRMagistr2015, NO_DATA_FOUND - не исключение! В исключении (exception) ты обрабатываешь NO_DATA_FOUND если нужно) имхо используй логирующую табличку чтобы писать NO_DATA_FOUND возникновение. Спасибо, уже использую ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 16:05 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
SY Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. SY. Спасибо большое за совет, но тогда пропадает вся прелесть блока exception, когда все ошибки обрабатываются визуально в одном месте (в конце программы), повышая тем самы читаемость программы ))) Есть ли другие возможности как-то поименовать эти exception, ну в общем как-то по красивее это сделать? ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 16:07 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015, эстет ты наш, тебе таки шашечки или ехать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 16:10 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015поименовать эти exception, ну в общем как-то по красивее это сделать? ))) да можешь сделать вот так) Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 16:13 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 16:30 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015пропадает вся прелесть Не вся, а только половина, так твоя прелесть раздвоилась до этого на два запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 16:30 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 16:38 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Именуй меня полностью Код: plsql 1. 2. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 16:42 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Petya.А, кто больше предложит вариантов для магистра, который и не магистр вовсе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 16:54 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
saxarockRMagistr2015, NO_DATA_FOUND - не исключение! В исключении (exception) ты обрабатываешь NO_DATA_FOUND если нужно) имхо используй логирующую табличку чтобы писать NO_DATA_FOUND возникновение. https://docs.oracle.com/cd/E18283_01/appdev.112/e17126/errors.htm#BABIIEFC Table 11-3 PL/SQL Predefined Exceptions NO_DATA_FOUND +100 ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 17:33 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015Но как вызвать конкретное объявленное пользовательское исключение, если может возникать ошибка NO_DATA_FOUND ? Как понять в каком именно месте возникла эта NO_DATA_FOUND...? .... но тогда пропадает вся прелесть блока exception, когда все ошибки обрабатываются визуально в одном месте (в конце программы), повышая тем самы читаемость программы ))) Есть ли другие возможности как-то поименовать эти exception, ну в общем как-то по красивее это сделать? ))) красота кончено же спасёт мир (угробит его). можно сделать всё, что пожелаешь, и даже зараз: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 17:55 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Fogel no_data_found_u exception; pragma exception_init(no_data_found_u,-20000); Это зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 18:22 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Fogel Код: 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. .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 19:42 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
автор--здесь запись еще была --за время (вот сдесь) проверки удалили запись, шо будете делать? Так как, все-таки, правильно проверять существование записи и гарантировать что параллельно выполняющееся нечто ее не грохнет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 22:05 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
xenixавтор--здесь запись еще была --за время (вот сдесь) проверки удалили запись, шо будете делать? Так как, все-таки, правильно проверять существование записи и гарантировать что параллельно выполняющееся нечто ее не грохнет? Залочить её (запись). Или проверять и работать с ней в одном sql-предложении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 01:58 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
StaxTable 11-3 PL/SQL Predefined Exceptions NO_DATA_FOUND +100 - ога, ога Table 11-3 lists the names and error codes of the predefined exceptions. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 06:41 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#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. Прикольно ))) Петин вариант можно то же рассматривать, хоть его и залочили за что-то. Спасибо )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 07:33 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Лишнее сканирование Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Ок, конкретно в вашем примере работает, а если с реальными и нужно действительн что-то посчитать? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 07:39 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#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. Выдает ошибку на втором exception (Во вложении) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 08:22 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Кто-нибудь знает почему там ошибка возникает при появлении второго exception ? ((((((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 08:55 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015, Может руки из жопы растут? Или своя голова думать не умеет? Или потому что чукча не читатель? В sqlplus скрипт работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 10:18 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
envRMagistr2015, Может руки из жопы растут? Или своя голова думать не умеет? Или потому что чукча не читатель? В sqlplus скрипт работает. А в PL\SQL Нет ))) :'-((( :'-((( :'-((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 11:02 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015, с pl/sql developer никогда не работал, но вроде бы у него отдельные воркспейсы для pl/sql и для sql. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 11:18 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Lary DenisRMagistr2015, с pl/sql developer никогда не работал, но вроде бы у него отдельные воркспейсы для pl/sql и для sql. Ну как бы это понятно ))) Ну так у меня не получается в PL/SQL как быть-то??? Что делать? Как сделать так что бы заработало??? Сейчас просто один общий eception в конце программы ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 11:23 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015Ну как бы это понятно ))) Ну так у меня не получается в PL/SQL как быть-то??? Что делать? Как сделать так что бы заработало??? Сейчас просто один общий eception в конце программы ((( Я не знаю, что тебе "ну это понятно", а что тебе вообще не понятно. На Oracle Sql Developer - работает. Как сделать? поставь его. Дело 5 минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 11:28 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Lary DenisRMagistr2015Ну как бы это понятно ))) Ну так у меня не получается в PL/SQL как быть-то??? Что делать? Как сделать так что бы заработало??? Сейчас просто один общий eception в конце программы ((( Я не знаю, что тебе "ну это понятно", а что тебе вообще не понятно. На Oracle Sql Developer - работает. Как сделать? поставь его. Дело 5 минут. Мне надо именно в PL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 11:29 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015, ну тогда убери "set serveroutput on". Что ж ты такой неловкий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 11:35 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015, ну так обратись в поддержку PL/SQL, там тебе все расжуют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 11:36 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
123ййRMagistr2015, ну так обратись в поддержку PL/SQL, там тебе все расжуют. Правильно ли я понял, что так нельзя в pl/sql следлать как я хочу...? ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 11:39 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015Правильно ли я понял, что так нельзя в pl/sql следлать как я хочу...? ))) а ты хорош! да, все правильно понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 11:41 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Lary DenisRMagistr2015, ну тогда убери "set serveroutput on". Что ж ты такой неловкий. О чем это вы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 11:41 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Lary DenisRMagistr2015Правильно ли я понял, что так нельзя в pl/sql следлать как я хочу...? ))) да, все правильно понял. Жаль :'-((( :'-((( :'-((( :'-((( :'-((( :'-((( :'-((( :'-((( :'-((( :'-((( :'-((( :'-((( :'-((( :'-((( :'-((( :'-((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 11:42 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015, Покажи полный скрин твоего выполнения. А не какой-то непонятный кусок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 11:42 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
K790RMagistr2015, Покажи полный скрин твоего выполнения. А не какой-то непонятный кусок. Так это он и есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 11:42 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015, Скрипт не мог инициировать encountered symbol 'FUNCTION', так что ты или в очередной раз гонишь пургу или до сих пор не смог разобраться с используемой тобой IDE. Предположу, что ты, как обычно не думая, выполняешь скрипт в неявной обёртке create or replace function ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 12:27 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
envRMagistr2015, Скрипт не мог инициировать encountered symbol 'FUNCTION', так что ты или в очередной раз гонишь пургу или до сих пор не смог разобраться с используемой тобой IDE. Предположу, что ты, как обычно не думая, выполняешь скрипт в неявной обёртке create or replace function ... Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Вот что хочу написать, и в первом и во втором случае может возникнуть Exception ((( раз уж нельзя в двух местах поставить exception, то что поделать, придётся ставить в одном месте.... Или есть варианты? )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 12:52 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015, RMagistr2015и в первом и во втором случае может возникнуть Exception envчукча не читатель Ответ на твой вброс вопрос уже дан. Достаточно подумать головой и заглянуть в доку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 12:56 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
env, Спасибо ещё раз )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 13:00 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015, RMagistr2015раз уж нельзя в двух местах поставить exception Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 13:16 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
RMagistr2015envRMagistr2015, Скрипт не мог инициировать encountered symbol 'FUNCTION', так что ты или в очередной раз гонишь пургу или до сих пор не смог разобраться с используемой тобой IDE. Предположу, что ты, как обычно не думая, выполняешь скрипт в неявной обёртке create or replace function ... Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Вот что хочу написать, и в первом и во втором случае может возникнуть Exception ((( раз уж нельзя в двух местах поставить exception, то что поделать, придётся ставить в одном месте.... Или есть варианты? )))) чем не устраивает 20688970 ? если возникнет Exception , как должна отреагировать ф-ция (что вернуть)? .......... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 14:06 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Stax, Тема закрыта, ответ получен уже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2017, 14:08 |
|
||
|
пользовательские exception
|
|||
|---|---|---|---|
|
#18+
Не ElicFogel no_data_found_u exception; pragma exception_init(no_data_found_u,-20000); Это зачем? начал писать, чтобы не было слова exception, а только raise в каждом блоке, а потом подумал, что человек же хотел только 1 раз - в итоге начал писать сценарий, а закончил поэмой, забыв убрать лишние действующие лица. StaxFogel Код: plsql 1. 2. 3. 4. 5. 6. 7. с учётом подобных возможностей в изменениях обычно используют for update nowait но топикстартеру подавай красоту, а не как все нормальные люди пишут, поэтому пусть про красоту дальше подумает уже сам... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 17:19 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1885501]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
428ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
103ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 821ms |

| 0 / 0 |
