|
|
|
Помогите с PL/SQL плиз
|
|||
|---|---|---|---|
|
#18+
в кратце примерно такая ситуация oracle'ом занимаюсь недавно CREATE OR REPLACE PROCEDURE DB.PROC_TMP AS --внутренние таблицы для обработки данных type Tnumber is table of number index by binary_integer; vStationDeviceId Tnumber; begin SELECT SCD.STATION_DEVICE_ID BULK COLLECT INTO vStationDeviceId FROM TECH.SERVICE_CENTER SC, TECH.SERVICE_CENTER_DEVICE SCD WHERE SC.SERVICE_CENTER_TYPE_ID IN (SELECT COMMON_TYPE_ID FROM DB.REPORT_SETUP WHERE ID=165); --настройка: ТИП СЕРВИС-ЦЕНТРА INSERT INTO DB.M_QUALITY ( LOW_DEVICE, HIGH_DEVICE ) SELECT STD.LOW_DEVICE, STD.HIGH_DEVICE FROM TECH.STATION_DEVICE STD WHERE STD.ID IN (vStationDeviceId); -- вот эту конструкцию не пропускает COMMIT; END; / Выдает ошибку ERROR ----------------------------------------------------------------- PL/SQL: SQL Statement ignored PLS-00383: type mismatch found at 'STD.ID' inside an IN or NOT IN clause В чем ошибка Таких INSERT'ов в общем случае будет куча. подскажите или все-таки подселект будет быстрее STD.ID(подселект) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2003, 16:54 |
|
||
|
Помогите с PL/SQL плиз
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Ты указываешь во FROM две таблицы, но не делаешь соединения между ними. В данном случае выбор SCD.STATION_DEVICE_ID абсолютно бессмысленен. Во втором типы не совпадают. А что такое BULK COLLECT - это новшество из 9i? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2003, 18:03 |
|
||
|
Помогите с PL/SQL плиз
|
|||
|---|---|---|---|
|
#18+
Insert neobhodimo delat' in Loop or in BULK, t.k. "vStationDeviceId " eto ne prostaya peremennaya, a stack. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2003, 10:19 |
|
||
|
Помогите с PL/SQL плиз
|
|||
|---|---|---|---|
|
#18+
to KZ Код: 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. 32. 33. 34. 35. 36. to Oracle BULK COLLECT уже есть в Oracle8i ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2003, 13:01 |
|
||
|
|

start [/forum/topic.php?fid=52&gotonew=1&tid=1991260]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 360ms |

| 0 / 0 |
