Встретился с такой задачей:
нужно в Таблицу_1 вставить сгруппированные значения из Таблицы_2 и одновременно присвоить каждой новой записи в Таблице_1 порядковый номер (sequence)
Пример:
insert into UserOrg(id,access_mode,org_id,sysuser_id)
select
userorg_seq.nextval,
min(rorg.access_mode),
rorg.org_id
from [бла-бла-бла]
group by
rorg.org_id
Этот запрос завершается с ошибкой:
ORA-02287: порядковый номер здесь недопустим
02287. 00000 - "sequence number not allowed here"
*Cause: The specified sequence number (CURRVAL or NEXTVAL) is inappropriate
here in the statement.
*Action: Remove the sequence number.
Нашел решение здесь: нужно вынести порядковый номер (sequence) за скобки, включив остальную часть запроса SELECT (которую необходимо сгруппировать) в отдельный подзапрос с поименованными полями:
insert into userorg(id,access_mode,org_id,sysuser_id,version)
select userorg_seq, daAccessMode, daOrgId ... from (
select
min(rorg.access_mode) as daAccessMode,
rorg.org_id as daOrgId,
...
from [бла-бла-бла]
group by rorg.org_id, vur.sysuser_id);
Подглядел здесь: http://stackoverflow.com/questions/7125936/oracle-sql-use-sequence-in-insert-with-select-statement
P.S. оформить запись перед закрытием
четверг, 7 февраля 2013 г.
Подписаться на:
Сообщения (Atom)
Архив
-
►
2019
(44)
- декабря (2)
- октября (6)
- сентября (9)
- августа (1)
- июля (1)
- июня (2)
- мая (2)
- апреля (2)
- марта (2)
- февраля (9)
- января (8)
-
►
2018
(54)
- декабря (4)
- ноября (3)
- октября (6)
- сентября (4)
- августа (2)
- июля (2)
- мая (3)
- апреля (4)
- марта (11)
- февраля (6)
- января (9)
-
►
2017
(55)
- декабря (4)
- ноября (14)
- октября (1)
- сентября (3)
- августа (10)
- июля (2)
- июня (5)
- мая (2)
- апреля (3)
- марта (4)
- февраля (4)
- января (3)
-
►
2016
(111)
- декабря (12)
- ноября (4)
- октября (14)
- сентября (7)
- августа (7)
- июля (14)
- июня (12)
- мая (8)
- апреля (5)
- марта (16)
- февраля (10)
- января (2)
-
►
2015
(96)
- декабря (2)
- ноября (4)
- октября (3)
- сентября (6)
- августа (2)
- июля (2)
- июня (2)
- мая (11)
- апреля (14)
- марта (24)
- февраля (21)
- января (5)
-
►
2014
(72)
- декабря (18)
- ноября (16)
- октября (2)
- сентября (7)
- августа (4)
- июля (1)
- июня (4)
- мая (5)
- апреля (3)
- марта (3)
- февраля (6)
- января (3)
-
▼
2013
(33)
- декабря (3)
- ноября (2)
- октября (3)
- сентября (2)
- августа (1)
- июля (1)
- июня (2)
- мая (5)
- апреля (2)
- марта (2)
- февраля (1)
- января (9)
-
►
2012
(181)
- ноября (6)
- октября (11)
- сентября (6)
- августа (5)
- июля (6)
- июня (25)
- мая (24)
- апреля (14)
- марта (20)
- февраля (38)
- января (26)