|
|
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста ... declare s varchar2(25) default null; begin select c_kod into s from tbl where c_type = 'Такого значения нет в базе'; dbms_output.put_line(s); end; На этапе выполнения выдает ошибку No data found. А мне нужно, чтоб если ничего не нашел - вставил в переменную NULL. Почему так не получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2007, 14:24 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
Код: 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. 28. 29. 30. 31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2007, 14:36 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2007, 14:39 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
УРА! Спасибо, второй вариант как раз то, что надо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2007, 15:24 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
fox_studentПодскажите, пожалуйста ... declare s varchar2(25) default null; begin select c_kod into s from tbl where c_type = 'Такого значения нет в базе'; dbms_output.put_line(s); end; На этапе выполнения выдает ошибку No data found. А мне нужно, чтоб если ничего не нашел - вставил в переменную NULL. Почему так не получается? Если для каждого c_type существует единственное значение c_kod, то можно использывать какую-нибудь функцию агрегации min,max ... Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2007, 15:33 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
q-q Код: plaintext 1. 2. А по-моему нужно... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2007, 20:08 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous q-q Код: plaintext 1. 2. А по-моему нужно... :) авторА мне нужно, чтоб если ничего не нашел - вставил в переменную NULL Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2007, 22:39 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
q-q andrey_anonymous q-q Код: plaintext 1. 2. А по-моему нужно... :) авторА мне нужно, чтоб если ничего не нашел - вставил в переменную NULL Код: plaintext 1. 2. Хотя Вы и не отдаете себе в этом отчета, но значение переменной s в подобном коде в общем случае не определено . Ваш эксперимент ничего не доказывает, поскольку всего лишь демонстрирует конкретную реализацию конкретной версии конкретной системы и нет никакой гарантии, что завтра на другой системе этот код приведет к тому же результату. Надежный код должен быть детерминированным и не должен полагаться на побочные эффекты. Поэтому делать надо все-таки менно так, как Вы показали в первом ответе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2007, 00:35 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous Хотя Вы и не отдаете себе в этом отчета, но значение переменной s в подобном коде в общем случае не определено . Мне кажется это вы себе не отдаете отчета. Значение переменной s четко определено: Код: plaintext 1. 2. 3. 4. Никакого изменения поведения в будущем не будет - это только ваши фантазии. авторПоэтому делать надо все-таки менно так, как Вы показали в первом ответе. Код: plaintext 1. 2. 3. 4. 5. Автор же пусть присваивает что хочет. andrey_anonymous Хотя Вы и не отдаете себе в этом отчета, А на вашем месте, я не делал бы выводов о человеке и о его уровне, которого вы не знаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2007, 19:54 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
q-q А на вашем месте, я не делал бы выводов о человеке и о его уровне, которого вы не знаете. Ты ж сам напросился на выводы, тебе следует немного подумать:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 11:42 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
q-qи о его уровне, которого вы не знаете. Уважаемый ГостЪ избавил меня от необходимости делать демо, за что ему спасибо. Что до "уровня", то разумные люди тут его не выясняют. Разумные люди стараются его повышать независимо от регалий или степени "засеренности" ника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 13:51 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
ГостЪ q-q А на вашем месте, я не делал бы выводов о человеке и о его уровне, которого вы не знаете. Ты ж сам напросился на выводы, тебе следует немного подумать:) Некорректный пример приводите. Там запрос возвращает строки, естественно что значение переменной не будет равно дефолтному. В нашем случае запрос не возвращает строк. Я бы посоветовал вам не приводить в будущем сомнительные аргументы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 17:45 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
q-qТам запрос возвращает строки Там запрос возвращает EXCEPTION. Это и есть предмет исследований. Поэтому вооружитесь собственными рекомендациями и подумайте еще разок. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 17:49 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous q-qТам запрос возвращает строки Там запрос возвращает EXCEPTION. Это и есть предмет исследований. Поэтому вооружитесь собственными рекомендациями и подумайте еще разок. Удачи. Еще раз для непонятливых повторяю, в том примере запрос возвращат несколько строк, поэтому возникает исключение. Соответственно переменная принимает какое-то значение. В нашем примере, исключение возникает потому что наоборот запрос не возвращает строк, соответственно переменная не получает никакого значения. Больше повторять небуду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 17:56 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
q-q andrey_anonymous q-qТам запрос возвращает строки Там запрос возвращает EXCEPTION. Это и есть предмет исследований. Поэтому вооружитесь собственными рекомендациями и подумайте еще разок. Удачи. Еще раз для непонятливых повторяю, в том примере запрос возвращат несколько строк, поэтому возникает исключение. Соответственно переменная принимает какое-то значение. В нашем примере, исключение возникает потому что наоборот запрос не возвращает строк, соответственно переменная не получает никакого значения. Больше повторять небуду. Непонятливым следует исследовать вопрос подробно, а не выдавать собственное мнение за аксиому, тебя лично никто переубеждать не собирается, но нужна ясность для других людей, которых может обмануть твой уверенный тон . P.S. попридержи лошадей, упрямство - добродетель ослов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 18:04 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
Сорри за тысячные грабли, но не поможете с такой штукой? Не работает 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 14:30 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
Когда выполняют, результат такой: Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 14:32 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
Почему не залетаю в этот блок кода? Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 14:33 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
GrayMagellanПочему не залетаю в этот блок кода? Код: plsql 1. RTFM Aggregate Functions (FAQ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 14:38 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
Агрегирующая функция sum() для пустого множества данных, возвращает null, а не пустое множество. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 14:38 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
Хорошо, а тогда какое из предопределенных исключений https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/errors.htm#LNPLS00703 подойдет к моему случаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 14:45 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
GrayMagellanподойдет к моему случаю? http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 14:51 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
GrayMagellanХорошо, а тогда какое из предопределенных исключений https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/errors.htm#LNPLS00703 подойдет к моему случаю? EXCEPTION - нестандартная обработка программного исключения (ошибки) У тебя ошибки нет Что ты хочешь от программы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 14:51 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
GrayMagellanХорошо, а тогда какое из предопределенных исключений https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/errors.htm#LNPLS00703 подойдет к моему случаю? Если нужно именно это исключение, то добавь having к запросу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 14:55 |
|
||
|
select .. into Ошибка No data found
|
|||
|---|---|---|---|
|
#18+
Дальше по ходу программы, если не контролировать значение MyVar, натыкаюсь на такую ошибку: Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 14:56 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=34693739&tid=1884031]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
238ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 588ms |

| 0 / 0 |
