powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / как объеденить эти два инсерта в один ???
7 сообщений из 7, страница 1 из 1
как объеденить эти два инсерта в один ???
    #32210539
1234512345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
begin
insert into spr(KOD, DATM, EW, MP )
select tree.id, dat.id, ew_id.id, mp_id.id
from tree , dat , ew_id , mp_id
where tree.id =:in_kod and dat.datm =:in_datm and ew_id.ew = :in_ew
and mp_id.mp=:in_mp ;
insert into spr(cwp,cwf,spf,spp,te_id,note_id)
values (:in_cwp,:in_cwf,:in_spf, :in_spp, :in_te_id, :in_note_id);
end
...
Рейтинг: 0 / 0
как объеденить эти два инсерта в один ???
    #32210594
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе необходимо в одну таблицу spr все параметры одной строкой сделать вставку или как сейчас двумя?
Я чего-то не дотягиваю.

Если одной то можно через процедуру.

as
declare variable KOD_TMP /* например */ integer;
declare variable DATM_TMP ... ;
declare variable EW_TMP ... ;
declare variable MP_TMP ...;
begin

for select tree.id, dat.id, ew_id.id, mp_id.id
from tree, dat , ew_id , mp_id
where tree.id =:in_kod and dat.datm =:in_datm and ew_id.ew = :in_ew
and mp_id.mp=:in_mp
into :KOD_TMP, :DATM_TMP, :EW_TMP, :MP_TMP
do
insert into
spr(KOD, DATM, EW, MP, cwp, cwf, spf, spp, te_id, note_id)
values (:KOD_TMP, :DATM_TMP, :EW_TMP, :MP_TMP, :in_cwp,:in_cwf,:in_spf, :in_spp, :in_te_id, :in_note_id);
end
...
Рейтинг: 0 / 0
как объеденить эти два инсерта в один ???
    #32210647
1234512345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
одной строкой сделать вставку в одну таблицу)))
...
Рейтинг: 0 / 0
как объеденить эти два инсерта в один ???
    #32210753
1234512345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В IB Expert не работает это
...
Рейтинг: 0 / 0
как объеденить эти два инсерта в один ???
    #32210771
1234512345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этой процедуре не вносятся значения в переменные и результат вставки ))
никакой вставки не происходит в таблицу

CREATE PROCEDURE NEW_PROCEDURE (
IN_KOD INTEGER,
IN_CWP INTEGER,
IN_SPP INTEGER,
IN_CWF INTEGER,
IN_SPF INTEGER,
IN_DATM VARCHAR(20),
IN_EW VARCHAR(256),
IN_TE_ID VARCHAR(20),
IN_MP VARCHAR(10),
IN_NOTE_ID VARCHAR(256))
AS
DECLARE VARIABLE DATM_TMP VARCHAR(20);
DECLARE VARIABLE EW_TMP VARCHAR(256);
DECLARE VARIABLE MP_TMP VARCHAR(10);
DECLARE VARIABLE KOD_TMP INTEGER;
begin
for select tree.id, dat.id, ew_id.id, mp_id.id
from tree, dat , ew_id , mp_id
where tree.id =:in_kod and dat.datm =:in_datm and ew_id.ew = :in_ew
and mp_id.mp=:in_mp
into:kod_tmp, :datm_tmp, :ew_tmp, :mp_tmp
do
insert into spr(KOD, DATM, ew, mp, cwp, cwf, spf, spp, te_id, note_id)
values (:kod_tmp, :datm_tmp, :ew_tmp, :mp_tmp, :in_cwp,:in_cwf,:in_spf, :in_spp, :in_te_id, :in_note_id);
end
...
Рейтинг: 0 / 0
как объеденить эти два инсерта в один ???
    #32210925
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В IB Expert в SQL Editor проверь этот

select tree.id, dat.id, ew_id.id, mp_id.id
from tree, dat , ew_id , mp_id
where (tree.id =:in_kod)
and (dat.datm =:in_datm)
and (ew_id.ew = :in_ew)
and (mp_id.mp=:in_mp)

Каков результат? Может быть там везде NULL.
Т.е. нет ни одной строки, удовлетворяющей заданным условиям поиска в операторе WHERE .
Проверь значения входящих параметров!
...
Рейтинг: 0 / 0
как объеденить эти два инсерта в один ???
    #32214676
1234512345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процедура заработала
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / как объеденить эти два инсерта в один ???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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