powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Скопировать строку таблицы
8 сообщений из 8, страница 1 из 1
Скопировать строку таблицы
    #39267616
leprechaun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь за примитивный вопрос, голова не варит. Как просто скопировать строку

insert into RA_CUSTOMER_TRX_LINES_ALL (select * from RA_CUSTOMER_TRX_LINES_ALL where customer_trx_line_id = '584237157')

но ключ customer_trx_line_id надо изменить на customer_trx_line_id.nextval, остальное продублировать. Не перечислять же все поля?
...
Рейтинг: 0 / 0
Скопировать строку таблицы
    #39267626
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leprechaunИзвиняюсь за примитивный вопрос, голова не варит. Как просто скопировать строку

insert into RA_CUSTOMER_TRX_LINES_ALL (select * from RA_CUSTOMER_TRX_LINES_ALL where customer_trx_line_id = '584237157')

но ключ customer_trx_line_id надо изменить на customer_trx_line_id.nextval, остальное продублировать. Не перечислять же все поля?
разумеется, таки, перечислять :)

ну ещё триггер можно сделать строчный на инсерт, который
для = инсерта проигнорирует ваш (прочитанный в селекте идюк) и дёрнет сиквенс
...
Рейтинг: 0 / 0
Скопировать строку таблицы
    #39267629
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leprechaun,

..или похожие танцы на любом процедурном языке (на том же pl/sql см примеры про %rowtype)
...
Рейтинг: 0 / 0
Скопировать строку таблицы
    #39267679
leprechaun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, ну вот конкретно простой пример. Считываю строку в запись. Далее какие-то из полей меняю. И хочу эту запись сделать новой строкой таблицы.

DECLARE

L_REC ra_customer_trx_all%ROWTYPE;

CURSOR C1 IS
SELECT * FROM ra_customer_trx_all WHERE customer_trx_id = '114819088';

BEGIN

OPEN C1;
FETCH C1 INTO L_REC;
CLOSE C1;

L_REC.DOC_SEQUENCE_VALUE := 7;

--INSERT into ra_customer_trx_all L_REC;

END;

Как это правильно оформить, не перечислять же L_REC.* - все 200 столбцов таблицы.
...
Рейтинг: 0 / 0
Скопировать строку таблицы
    #39267697
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leprechaunКак это правильно оформить, не перечислять же L_REC.* - все 200 столбцов таблицы.

Код: plsql
1.
INSERT into ra_customer_trx_all VALUES L_REC;



SY.
...
Рейтинг: 0 / 0
Скопировать строку таблицы
    #39267698
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[/quote] Inserting Records into Tables
Да и выборку можно немного попроще
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
tst> create table t1 as select * from all_objects;

Table created.

tst> select count(*) from t1;

  COUNT(*)
----------
      6462

tst> declare t1_rec t1%rowtype;
  2  begin select * into t1_rec from t1 where rownum=1;
  3        t1_rec.object_id:=-t1_rec.object_id;
  4        insert into t1 values t1_rec;
  5  end;
  6  /

PL/SQL procedure successfully completed.

tst> select count(*) from t1;

  COUNT(*)
----------
      6463

...
Рейтинг: 0 / 0
Скопировать строку таблицы
    #39267743
leprechaunНе перечислять же все поля?Столько букв на форуме, потому что лень скопипастить поля таблицы в sql-ide? И это для конкретного значения, замечу - неуникального, customer_trx_line_id.
...
Рейтинг: 0 / 0
Скопировать строку таблицы
    #39267772
leprechaun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, вроде то что надо.

Я что-то с этими составными типами, записями и таблицами PL/SQL совсем тугой, уже не раз перечитывал всё равно путаюсь.
Только записанные примеры выручают.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Скопировать строку таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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