powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Не вставляет множественную выборку... :( Help!
5 сообщений из 5, страница 1 из 1
Не вставляет множественную выборку... :( Help!
    #32873716
Yuri Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе утро!

Коллеги, тут чтой-то совсем непонятное творится у меня... 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 неправы...

Заранее спасибо!
Кто знает жизнь, тот не торопится... Удачи на дорогах!
...
Рейтинг: 0 / 0
Не вставляет множественную выборку... :( Help!
    #32873925
Litus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может в group by дело?
можно тогда так попробовать select distinct ... вместо group by

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Не вставляет множественную выборку... :( Help!
    #32874230
mustlive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в подзапросе, абсолютно точно. В нем выбирется несколько значений
...
Рейтинг: 0 / 0
Не вставляет множественную выборку... :( Help!
    #32874269
Litus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну, утверждается же, что работает select без insert-а
а вообще, конечно, в любом случае надо вместо
= (select ObjDefID ...)
использовать
in (select ObjDefID ...)
или
= (select max(ObjDefID) ...)

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Не вставляет множественную выборку... :( Help!
    #32874897
Yuri Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
 declare local temporary table AllModels(
    FunctionID char(15) not null,
    FunctionName text null,
    UnitID char(15) null,
    UnitName text null,
    Record integer null default autoincrement,
    ) on commit delete rows;

Как только выкинул строчку Record integer null default autoincrement все заработало. Чем она мешала - ума не приложу. Тем более что при сходных операциях с другими таблицами, где есть аналогичные поля, проблем не возникало.

Спасибо!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Не вставляет множественную выборку... :( Help!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]