PL/SQL - объединение 2-х переменных типа table of..

Alexey Agafonov
Дата: 26.05.2006 21:09:22
Здравствуйте,

Как объединить 2 полученных набора значений, хранящихся в таблице. Вот простой пример:

DECLARE
 t_tbl IS TABLE OF NUMBER;
 t1 t_tbl;
 t2 t_tbl;
 t_res t_tbl;
BEGIN
 t1.DELETE;
 t2.DELETE;
 t_res.DELETE;

 -- Заполняем t1
 ...

 -- Заполняем t2
 ....

 ------ ВОТ тут и сам вопрос: как сделать t_res, как сумму t1 и t2:

 t_res:=t1 + t2;  -- Конечно, так не пойдет. Но как надо?
END;
/


Спасибо.
sdfsdf
Дата: 26.05.2006 21:30:44
Alexey Agafonov

Как объединить 2 полученных набора значений, хранящихся в таблице. Вот простой пример:



просуммировав поэлементно
Elic
Дата: 26.05.2006 21:40:24
Информация к размышлению: Как быстро сложить две коллекции?
Alexey Agafonov
Дата: 26.05.2006 21:59:59
Elic
Информация к размышлению: Как быстро сложить две коллекции?


Согласно тому объявлению, решил пройтись в цикле и уже на EXTEND-е ижу ошибку:

\n\nDECLARE\n t_tbl IS TABLE OF NUMBER;\n t1 t_tbl;\n t2 t_tbl;\n t_res t_tbl;\nBEGIN\n t1.DELETE;\n t2.DELETE;\n t_res.DELETE;\n\n -- Заполняем t1\n ...\n\n -- Заполняем t2\n ....\n\n ------ ВОТ тут и сам вопрос: как сделать t_res, как сумму t1 и t2:\n\n t1.EXTEND;\nEND;\n/\n\n[1]: (Error): ORA-06550: line 38, column 7: PLS-00306: wrong number or types of arguments in call to \'EXTEND\' ORA-06550: line 38, column 7: PL/SQL: Statement ignored\n
Alexey Agafonov
Дата: 26.05.2006 22:01:48
Alexey Agafonov
Elic
Информация к размышлению: Как быстро сложить две коллекции?


Согласно тому объявлению, решил пройтись в цикле и уже на EXTEND-е ижу ошибку:

\n\nDECLARE\n t_tbl IS TABLE OF NUMBER;\n t1 t_tbl;\n t2 t_tbl;\n t_res t_tbl;\nBEGIN\n t1.DELETE;\n t2.DELETE;\n t_res.DELETE;\n\n -- Заполняем t1\n ...\n\n -- Заполняем t2\n ....\n\n ------ ВОТ тут и сам вопрос: как сделать t_res, как сумму t1 и t2:\n\n t1.EXTEND;\nEND;\n/\n\n[1]: (Error): ORA-06550: line 38, column 7: PLS-00306: wrong number or types of arguments in call to \'EXTEND\' ORA-06550: line 38, column 7: PL/SQL: Statement ignored\n


А еще забыл, что тип объявляется как
\n   t_tbl IS TABLE OF NUMBER INDEX BY BINARY_INTEGER\n

Это принципиально?
Elic
Дата: 26.05.2006 22:27:27
Alexey Agafonov
\n t_tbl IS TABLE OF NUMBER;\n
А еще забыл, что тип объявляется как
\n   t_tbl IS TABLE OF NUMBER INDEX BY BINARY_INTEGER\n
Правая рука не знает что делает левая ?!
Alexey Agafonov
Это принципиально?
Догадайся сам :)
Alexey Agafonov
Дата: 27.05.2006 07:21:53
Elic
Alexey Agafonov
\n t_tbl IS TABLE OF NUMBER;\n
А еще забыл, что тип объявляется как
\n   t_tbl IS TABLE OF NUMBER INDEX BY BINARY_INTEGER\n
Правая рука не знает что делает левая ?!
Alexey Agafonov
Это принципиально?
Догадайся сам :)


Вижу, что принципиально... Но что можно сделать? Я не могу определить тип данных иначе, это одно из обязательных условий... Хоть что-нибудь можно сделать?
andrey_anonymous
Дата: 27.05.2006 07:39:12
Уважаемый Алексей! Я, хоть и с большим трудом, но могу понять нежелание читать англоязычную документацию. Однако нежелание ознакомиться с любезно предоставленными ссылками выходит за грань разумного. Мне сложно даже представить реакцию Elic, когда он это увидит. В лучшем случае Вас проигнорируют...
Имеет смысл таки почитать и извиниться... имхо, конечно.
Alexey Agafonov
Дата: 27.05.2006 07:59:56
andrey_anonymous
Уважаемый Алексей! Я, хоть и с большим трудом, но могу понять нежелание читать англоязычную документацию. Однако нежелание ознакомиться с любезно предоставленными ссылками выходит за грань разумного. Мне сложно даже представить реакцию Elic, когда он это увидит. В лучшем случае Вас проигнорируют...
Имеет смысл таки почитать и извиниться... имхо, конечно.

Уважаемый andrey_anonymous! Вы немного удивили меня сначала своим сообщением, но я все-таки еще прочитал ссылку Erica, и, как бы мне не хотелось это признать, я действительно должен извиниться.
Eric, спасибо большое за ссылку, Вы мне все объяснили, а я действительно сначала не догнал, как надо сделать. Просто присваиваем следующему элементу значение и все... Я читал это в 5 утра вчера (как и моздал тему, у меня от Москвы +7 часов), видимо, это сказалось. Мне все ясно.

P.S. andrey_anonymous. И тебе спасибо, что написал :-).
Elic
Дата: 27.05.2006 09:04:44
andrey_anonymous
Мне сложно даже представить реакцию Elic, когда он это увидит.
И мне, вот, спросонья тоже одинаково сложно представить как реакцию, так и почему же сложно представить :)
Но, я смотрю, процес пошёл в правильном направлении :)