Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Структура Select в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Господа подскажите в Informix 7.31.tc.4 возможно использовать такой вид Select в в хранимой процедуре Select (Select tb2.gggg From table2 tb2 where tb2.id = tb1.id) From table1 tb1......... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2004, 18:59 |
|
||
|
Структура Select в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
В Informix 7.30.tc.5 запрос работает (только причем хранимые?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 08:17 |
|
||
|
Структура Select в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Не компилится процедура с таким запросом, поэтому интересует поддерживается ли такая возможность в хранимой процедуре ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 10:03 |
|
||
|
Структура Select в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Maks_fГоспода подскажите в Informix 7.31.tc.4 возможно использовать такой вид Select в в хранимой процедуре Select (Select tb2.gggg From table2 tb2 where tb2.id = tb1.id) From table1 tb1......... Нет, в SPL 7.3 такого делать нельзя. Приходится преобразовывать в явный outer join. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 11:17 |
|
||
|
Структура Select в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Спасибо. Однако странно простым Select это проходит а в процедуре нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 15:35 |
|
||
|
Структура Select в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
А можно поподробнее? Какая ошибка генерится при создании процедуры? Производился ли ловля льва в Африке, т.е. усечение создания процедуры до конкретно такого кода. Еще лучше привести пример, с использованием стандартных таблиц, который воссоздает ситуацию. Я что-то не примомню ограничения на такое использование. Под рукой к сожалению только 9-ка, но на 7.1 у меня такие запросы точно работали в SPL-ях. Впрочем, я уверен, что ничто им не мешало работать и в 5-ке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 16:07 |
|
||
|
Структура Select в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
DaugavaА можно поподробнее? Какая ошибка генерится при создании процедуры? Производился ли ловля льва в Африке, т.е. усечение создания процедуры до конкретно такого кода. Еще лучше привести пример, с использованием стандартных таблиц, который воссоздает ситуацию. Я что-то не примомню ограничения на такое использование. Под рукой к сожалению только 9-ка, но на 7.1 у меня такие запросы точно работали в SPL-ях. Впрочем, я уверен, что ничто им не мешало работать и в 5-ке. Вот, прямо из dbaccess'а... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 17:36 |
|
||
|
Структура Select в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
В процессе удаления пустых строк был стёрт end procedure (при copy/paste в форум). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 17:46 |
|
||
|
Структура Select в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
А если так? create procedure test() define a like systables.tabid ; define b int ; select t.tabid, (select count(*) from syscolumns c where t.tabid = c.tabid ) ncols from systables t where tabname = 'systables' into temp a with no log; end procedure ; Ну хоть режьте меня, работали вложенные селекты в процедурах. У меня софт кардинально не менялся с 97 года, а там подобных примеров пруд пруди. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 19:49 |
|
||
|
Структура Select в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
DaugavaА если так? create procedure test() define a like systables.tabid ; define b int ; select t.tabid, (select count(*) from syscolumns c where t.tabid = c.tabid ) ncols from systables t where tabname = 'systables' into temp a with no log; end procedure ; А если так - Ok. А select ... into ... from ... нельзя. Хотя, может как раз этого (into temp) и хотел вопрошающий.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 20:21 |
|
||
|
Структура Select в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
Глюк с into явно связан с проверкой синтаксиса (parse) в SPL. Если убрать предложение into, то парсер предлложит корректировку into temp. Обходной путь связан с изменением into в LET: create procedure test() define a like systables.tabid ; define b int ; LET a,b = (select t.tabid, (select count(*) from syscolumns c where t.tabid = c.tabid ) ncols --into a,b from systables t where tabname = 'systables'); end procedure ; Мелкий недостаток - парсер не проверяет число колонок и при ошибке вы получите runtime error во время работы процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 08:54 |
|
||
|
Структура Select в хранимой процедуре
|
|||
|---|---|---|---|
|
#18+
r2yГлюк с into явно связан с проверкой синтаксиса (parse) в SPL. Если убрать предложение into, то парсер предлложит корректировку into temp. Обходной путь связан с изменением into в LET: create procedure test() define a like systables.tabid ; define b int ; LET a,b = (select t.tabid, (select count(*) from syscolumns c where t.tabid = c.tabid ) ncols --into a,b from systables t where tabname = 'systables'); end procedure ; Мелкий недостаток - парсер не проверяет число колонок и при ошибке вы получите runtime error во время работы процедуры. Через let a,b = (select ... почему-то никогда не делал, хотя такая возможность прямо следует из документации (4-54 Informix Guide to SQL: Syntax) и let a = (select... используется повсеместно... . Спасибо, что поправили. BTW, упомянутый вами "небольшой недостаток" в равной степени относится и к конструкции select ... into ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 11:23 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=32825734&tid=1609144]: |
0ms |
get settings: |
6ms |
get forum list: |
19ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 331ms |

| 0 / 0 |
