|
|
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Есть функция, которая возвращает дату со временем, либо без времени, а когда параметром передается строка, она должна возвращать NULL. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. И так Код: plsql 1. и так Код: plsql 1. дата возвращается. Нужно, чтобы при таком вызове Код: plsql 1. возвращался NULL. Сейчас возникает ошибка ORA-01840: длина входного значения недостаточна для формата даты ORA-06512: на "SOME_SCHEMA.SOME_PACKAGE", line 29 Вопрос - как от неё избавиться? Может, здесь нужен неявный курсор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 14:10 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
ultrasonic7 Может, здесь нужен неявный курсор? зачем неявный ? делай явный, может БД с какой-нибудь попытки согласится вернуть NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 14:18 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
ultrasonic7, Писать логику на EXCEPTION - как бы мовитон Проверьте длинну iValue и иcходя из этого выберите маску или верните null. Тогда обойдетесь одним EXCEPTION при котором тоже вернете null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 14:27 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 14:31 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
-2- Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. не у всех версия БД подходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 14:42 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 14:48 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
Не подошёл вариант, к сожалению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 14:49 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
Меня интересует, почему этот код Код: plsql 1. 2. не выполняется, когда в функцию передается строка даже из двух символов ('10') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 14:51 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
andreymxне у всех версия БД подходитГде разработчик путается в двух эксепшенах, да еще и один из которых не нужен, апгрейд это последнее, чего стоит бояться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 14:52 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
ultrasonic7Меня интересует, почему этот код Код: plsql 1. 2. не выполняется, когда в функцию передается строка даже из двух символов ('10')значит, ты в него не попадаешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 14:57 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
ultrasonic7Меня интересует, почему этот код Код: plsql 1. 2. не выполняется, когда в функцию передается строка даже из двух символов ('10') потому что Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 15:01 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
MaximaXXLПроверьте длину iValue и иcходя из этого выберите маску не уверен, что это подойдет Код: sql 1. VAL_DATE('1.1.11:1')01.01.0001 1:01:00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 15:08 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
Может, на ошибки следует смотреть шире? Сделать так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 15:21 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
IMHO достаточно одной длинной маски, правда на 11g не тестировал, нет её у меня Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 15:24 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
rpovarovIMHO достаточно одной длинной маски, правда на 11g не тестировал, нет её у меня Код: plsql 1. 2. 3. 4. 5. 6. 7. а две маски зачем так тоже работает Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 15:32 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
andreymxа две маски зачем так тоже работает Код: plsql 1. Если я правильно понял смысл запихивания всего этого вот в pl/sql - не вылетать по exception в случае несуществующих даты или времени, типа 13-го месяца или 70-й минуты, или 30-го февраля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 18:15 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
Мне в данном случае не надо анализировать длину входного параметра. При передаче '10' выскакивает, по всей видимости, не VALUE_ERROR. Так всё работает правильно. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2018, 07:40 |
|
||
|
Нужен ли здесь неявный курсор
|
|||
|---|---|---|---|
|
#18+
ultrasonic7При передаче '10' выскакивает, по всей видимости, не VALUE_ERROR.О! Не прошло и суток, заподозрил отличие ORA-06502 отultrasonic7 ORA-01840 : длина входного значения недостаточна для формата даты Осталось еще несколько раз протереть спиртом оптическую ось, чтобы проявилась видимость нескольких сообщений о ненужности двух перехватов exception. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2018, 07:58 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39733742&tid=1883173]: |
0ms |
get settings: |
6ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 493ms |

| 0 / 0 |
