|
|
|
Не вставляет множественную выборку... :( Help!
|
|||
|---|---|---|---|
|
#18+
Доброе утро! Коллеги, тут чтой-то совсем непонятное творится у меня... Sybase ASA 8. Есть выборка из базы, которая должна с помощью insert записываться в другую базу. Строк в выборке может быть неограниченное количество. Сама выборка вот: select ObjDefID from InOutOccConns where MdlID = any((select m.ID from Model as m,Occ as o where m.ID = o.ModelID and m.TypeNum = 1 and o.DefinitionID = (select ObjDefID from InOutOccConns where MdlID = Model_Now and CoObjDefID = FuncNow and CxnDirection = 'OUT' and ObjDefTypeNum = 78))) and CxnDirection = 'OUT' and ObjDefTypeNum = 43 group by ObjDefID; Отрабатывается без каких-либо проблем, выдает свои значения, проверено. Но! Если его результаты передаешь в таблицу начинаются крики недовольства, а конкретно - 186-я ошибка, гласящая, что запрос не может возвращать больше чем одну строку. С какой стати-то? insert into AllModels(UnitID) select ObjDefID from InOutOccConns where MdlID = any((select m.ID from Model as m,Occ as o where m.ID = o.ModelID and m.TypeNum = 1 and o.DefinitionID = (select ObjDefID from InOutOccConns where MdlID = Model_Now and CoObjDefID = FuncNow and CxnDirection = 'OUT' and ObjDefTypeNum = 78))) and CxnDirection = 'OUT' and ObjDefTypeNum = 43 group by ObjDefID; Вроде как вставка в таблицу результатов запроса отродясь не ограничивалась количеством строк. Помогите пожалуйста разобраться в чем я или ASA неправы... Заранее спасибо! Кто знает жизнь, тот не торопится... Удачи на дорогах! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 09:11 |
|
||
|
Не вставляет множественную выборку... :( Help!
|
|||
|---|---|---|---|
|
#18+
может в group by дело? можно тогда так попробовать select distinct ... вместо group by Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 10:38 |
|
||
|
Не вставляет множественную выборку... :( Help!
|
|||
|---|---|---|---|
|
#18+
Дело в подзапросе, абсолютно точно. В нем выбирется несколько значений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 11:58 |
|
||
|
Не вставляет множественную выборку... :( Help!
|
|||
|---|---|---|---|
|
#18+
ну, утверждается же, что работает select без insert-а а вообще, конечно, в любом случае надо вместо = (select ObjDefID ...) использовать in (select ObjDefID ...) или = (select max(ObjDefID) ...) Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 12:12 |
|
||
|
Не вставляет множественную выборку... :( Help!
|
|||
|---|---|---|---|
|
#18+
Litus ну, утверждается же, что работает select без insert-а а вообще, конечно, в любом случае надо вместо = (select ObjDefID ...) использовать in (select ObjDefID ...) или = (select max(ObjDefID) ...) Posted via ActualForum NNTP Server 1.1 Нет, серьезно все работает. Я потом это заметил и поставил перед скобками any, но проблему сие не решило. Решило следующее, база AllModels была описана следующим образом: Код: plaintext 1. 2. 3. 4. 5. 6. Как только выкинул строчку Record integer null default autoincrement все заработало. Чем она мешала - ума не приложу. Тем более что при сходных операциях с другими таблицами, где есть аналогичные поля, проблем не возникало. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 14:43 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=111&tid=2013954]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 140ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...