Копирование данных из старой таблицы в новую таблицу только с новой таблицей имеет последовательность - PullRequest
0 голосов
/ 11 января 2019

Мне нужно создать новую таблицу из старой, нужно вставить строки из старой, единственное изменение - добавить новую колонку последовательности в новую. Может кто-нибудь помочь мне за то же самое?

INSERT INTO dps_session_map (TrackSESSION_SEQ,session_seq, column3)
   SELECT
        A.SEQ_Session.NEXTVAL, sm.session_seq, sm.column3
    FROM 
        dps_session_map  A,

        dps_exec_session_map sm
WHERE   sm.session_seq is not null; 

Ответы [ 2 ]

0 голосов
/ 11 января 2019
INSERT INTO dps_session_map (TrackSESSION_SEQ,session_seq, column3)
   SELECT
        **SCHEMA.**SEQ_Session.NEXTVAL, sm.session_seq, sm.column3
    FROM 
        dps_session_map  A,
        dps_exec_session_map sm
WHERE   sm.session_seq is not null; 

Ссылка на последовательность по ее имени или полностью определенному schema.name. Последовательности не относятся к таблице. Вы получаете сообщение об ошибке «ORA-02289: последовательность не существует»?

0 голосов
/ 11 января 2019

Удалить ключевое слово VALUES и его скобки:

--general pattern of inserting from one table to another existing table 
INSERT INTO table(columns)
SELECT columns FROM othertable

Количество и тип столбцов должны совпадать (или быть неявно конвертируемыми)

Если вашей новой таблицы не существует, выполните:

CREATE TABLE x AS
(SELECT columns FROM othertable)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...