Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вставка записи в связанные таблицы / 3 сообщений из 3, страница 1 из 1
19.06.2008, 08:26
    #35381646
Rust()
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка записи в связанные таблицы
Есть 2 связанные таблицы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE TABLE DATA_SOURCES (
ID_DS BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH  1  INCREMENT BY  1  MINVALUE  1  MAXVALUE  9223372036854775807  NO CYCLE NO CACHE),
NAME_DS VARCHAR( 128 ) NOT NULL));
ALTER TABLE DATA_SOURCES ADD CONSTRAINT PK_ID_DS PRIMARY KEY (ID_DS);

CREATE TABLE DATA_SOURCES_PAR (
ID_DS BIGINT NOT NULL,
NAME_PAR VARCHAR( 128 ) NOT NULL,
VALUE_PAR VARCHAR( 256 ) NOT NULL);
ALTER TABLE DATA_SOURCES_PAR ADD CONSTRAINT SQL080529162902010 PRIMARY KEY (ID_DS);
ALTER TABLE DATA_SOURCES_PAR ADD CONSTRAINT FK_ID_DS FOREIGN KEY (ID_DS)
	REFERENCES DATA_SOURCES (ID_DS)
	ON DELETE CASCADE
	ON UPDATE RESTRICT;
1. Можно ли одним запросом вставить записи в таблицу DATA_SOURCES_PAR и DATA_SOURCES и связать их по сгенерированному ключу ID_DS?
2. Можно ли одним запросом вставить 1 запись в таблицу DATA_SOURCES и несколько записей в таблицу DATA_SOURCES_PAR и связать их сгенерированным ключем ID_DS?
...
Рейтинг: 0 / 0
19.06.2008, 10:14
    #35381877
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка записи в связанные таблицы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
with 
  t(i) as (values  1  union all select i+ 1  from t where i< 5 )
, pars(NAME_PAR, VALUE_PAR) as (select 'NAME_PAR'||char(i), 'VALUE_PAR'||char(i) from t)
, ds(ID_DS) as 
(
select ID_DS
from new table(insert into data_sources(NAME_DS) values ('NAME_DS')) n
)
select count( 1 )
from new table(
insert into data_sources_par(ID_DS, NAME_PAR, VALUE_PAR)
select ds.ID_DS, pars.NAME_PAR, pars.VALUE_PAR
from ds, pars
) n
В with таблицы t и pars используются для генерации 5-и строк параметров.
...
Рейтинг: 0 / 0
19.06.2008, 10:51
    #35382004
Rust()
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка записи в связанные таблицы
Круто завернул, спасибо огромное
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вставка записи в связанные таблицы / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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