powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Insert одного и того же ID в обе таблицы одновременно
14 сообщений из 14, страница 1 из 1
Insert одного и того же ID в обе таблицы одновременно
    #39606377
Фотография Goofy122
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите пожалуйста , есть 2 таблицы table1 и table2.

Столбцы в 1-ой таблице Employeer_ID

Столбцы в 2-ой таблице ID , Employeer_ID

Нужно заинсетить один и тоже sequence в обе таблицы

Код: 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.
25.

DECLARE 
v_table1_sequence NUMBER;


BEGIN

FOR elem in 1..50

v_sequence := SEQUENCE_NAME.NEXTVAL

INSERT INTO table1  values (v_table1_sequence );

END;


FOR elem in 1..50

v_sequence := SEQUENCE_NAME.NEXTVAL

INSERT INTO table2  values (TABLE2.SEQUENCE.NEXTVAL , v_table1_sequence );

END;





В 1-ю таблицу значения инсертятся норм то есть 1,2,3,4,5 счетчик работает , а во 2-ю таблицу тот же самый счетчик инсертится одно и тоже значение , то есть во всех 50-ти строках только значение 1.

Это потому-что счетчик крутится в 1-ом цикле ,а на 2-ой не реагирует. Пытался вывести переменную v_table1_sequence за передел блока выдает ошибку.

Помогите заинсертить одно и тоже значение sequence в обе таблицы .

Заранее спасибо
...
Рейтинг: 0 / 0
Insert одного и того же ID в обе таблицы одновременно
    #39606381
Фотография Goofy122
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не совсем правильно прописал , вот так :

DECLARE
v_table1_sequence NUMBER;


BEGIN

FOR elem in 1..50
LOOP

v_sequence := SEQUENCE_NAME.NEXTVAL

INSERT INTO table1 values (v_table1_sequence );
END LOOP;
END;


FOR elem in 1..50

LOOP

INSERT INTO table2 values (TABLE2.SEQUENCE.NEXTVAL , v_table1_sequence );

END LOOP;

END;
...
Рейтинг: 0 / 0
Insert одного и того же ID в обе таблицы одновременно
    #39606387
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Goofy122,

- где ошибка?
- в ДНК..

ЗЫ скоро меня тут заблокируют :(
...
Рейтинг: 0 / 0
Insert одного и того же ID в обе таблицы одновременно
    #39606403
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Goofy122,

Кури Sequence Pseudocolumns

SY.
...
Рейтинг: 0 / 0
Insert одного и того же ID в обе таблицы одновременно
    #39606404
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYКури Sequence Pseudocolumns
Зачем?
Ему нужно курить "два оператора в одном цикле", если, конечно, я правильно понял, чего он хочет...
...
Рейтинг: 0 / 0
Insert одного и того же ID в обе таблицы одновременно
    #39606412
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...Зачем? Ему нужно курить "два оператора в одном цикле", если, конечно, я правильно понял, чего он хочет...


И это тоже:

Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
SQL> BEGIN
  2      FOR v_i in 1..3 LOOP
  3        INSERT
  4          INTO TABLE1
  5          VALUES(SEQ1.NEXTVAL);
  6        FOR v_j in 1..3 LOOP
  7          INSERT
  8            INTO TABLE2
  9            VALUES(SEQ2.NEXTVAL,SEQ1.CURRVAL);
 10        END LOOP;
 11      END LOOP;
 12  END;
 13  /

PL/SQL procedure successfully completed.

SQL> SELECT  *
  2    FROM  TABLE1
  3  /

        ID
----------
         1
         2
         3

SQL> SELECT  *
  2    FROM  TABLE2
  3  /

        ID  PARENT_ID
---------- ----------
         1          1
         2          1
         3          1
         4          2
         5          2
         6          2
         7          3
         8          3
         9          3

9 rows selected.

SQL> 



SY.
...
Рейтинг: 0 / 0
Insert одного и того же ID в обе таблицы одновременно
    #39606456
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY,

у Goofy122 независимые циклы (не вложенные)

не понятно что надо
1) сохранять ид в таблицу
2) вставлять в одном цикле

.....
stax
...
Рейтинг: 0 / 0
Insert одного и того же ID в обе таблицы одновременно
    #39606458
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Goofy122,

покажите на примере что Вам надо

зы
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
BEGIN
FOR elem in 1..50 LOOP

   INSERT INTO table1  values (SEQUENCE_NAME.NEXTVAL);
   INSERT INTO table2  values (SEQUENCE_NAME2.NEXTVAL , SEQUENCE_NAME.CURRVAL );

END LOOP;

END;



.....
stax
...
Рейтинг: 0 / 0
Insert одного и того же ID в обе таблицы одновременно
    #39606460
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StaxGoofy122,

покажите на примере что Вам надо
вечно ты всю интригу испортишь :)
...
Рейтинг: 0 / 0
Insert одного и того же ID в обе таблицы одновременно
    #39606489
jan2ary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
CREATE TABLE T1 ( 
 ID NUMBER 
);

CREATE TABLE T2 ( 
 ID NUMBER, 
 T1_ID NUMBER 
);

CREATE SEQUENCE seq_t1;

CREATE SEQUENCE seq_t2;

INSERT ALL 
  INTO T1 ( ID ) VALUES ( seq_t1.nextval ) 
  INTO T2 ( ID, T1_ID ) VALUES ( seq_t2.nextval, seq_t1.currval ) 
SELECT *  
FROM DUAL 
CONNECT BY LEVEL <= 10 ;
...
Рейтинг: 0 / 0
Insert одного и того же ID в обе таблицы одновременно
    #39606542
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StaxGoofy122,

покажите на примере что Вам надо

зы
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
BEGIN
FOR elem in 1..50 LOOP

   INSERT INTO table1  values (SEQUENCE_NAME.NEXTVAL);
   INSERT INTO table2  values (SEQUENCE_NAME2.NEXTVAL , SEQUENCE_NAME.CURRVAL );

END LOOP;

END;



.....
stax

в многопотоках может быть не то что ожидается
...
Рейтинг: 0 / 0
Insert одного и того же ID в обе таблицы одновременно
    #39606558
Фотография Goofy122
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо большое всем , понравился вариант с INSERT ALL
...
Рейтинг: 0 / 0
Insert одного и того же ID в обе таблицы одновременно
    #39606575
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artasStaxGoofy122,

покажите на примере что Вам надо

зы
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
BEGIN
FOR elem in 1..50 LOOP

   INSERT INTO table1  values (SEQUENCE_NAME.NEXTVAL);
   INSERT INTO table2  values (SEQUENCE_NAME2.NEXTVAL , SEQUENCE_NAME.CURRVAL );

END LOOP;

END;



.....
stax

в многопотоках может быть не то что ожидается

не понял, что имеется в ввиду под многопотоком ?

зы
не то что ожидается может быть и из-за напр триггера

.....
stax
...
Рейтинг: 0 / 0
Insert одного и того же ID в обе таблицы одновременно
    #39609175
мне тоже понравился с insert all
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Insert одного и того же ID в обе таблицы одновременно
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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