generar un script

crissdom
09 de Marzo del 2004
hola! necesito generar un script para hacer varias inserciones en una BD, tengo varias instrucciones como las siguientes y no sé como separarlas
Alguien puede ayudarme?

insert into services_programs (IDCONTRACT, IDPROGRAM, IDSERVICE, CNAME, DINACTIVE, NSERVICECODE, DUPDATE)
select b.a, b.b, max(a.idservice) + b.g, b.c, b.d, b.e, b.f
from services_programs a,
(select a, b, rownum g, c, d, e, f
from
(select distinct c.idcontract a, d.idprogram b, 'REVISTAS DE INFORMACIÓN GENERAL Y REVISTAS ESPECIALIZADAS' c, null d, 26 e, sysdate f
from contracts c, program_contracts d, services_programs e
where c.idcontract in (6,8,9)
and (d.idprogram = 1 or d.idprogram = 2 or d.idprogram = 5 )
and d.idcontract = c.idcontract ))b
group by b.a, b.b, b.g, b.c, b.d, b.e, b.f;

insert into services_programs (IDCONTRACT, IDPROGRAM, IDSERVICE, CNAME, DINACTIVE, NSERVICECODE, DUPDATE)
select b.a, b.b, max(a.idservice) + b.g, b.c, b.d, b.e, b.f
from services_programs a,
(select a, b, rownum g, c, d, e, f
from
(select distinct c.idcontract a, d.idprogram b, 'DIARIOS EDITADOS EN EL D.F.' c, null d, 21 e, sysdate f
from contracts c, program_contracts d, services_programs e
where c.idcontract in (6,8,9)
and (d.idprogram = 1 or d.idprogram = 2 or d.idprogram = 5 )
and d.idcontract = c.idcontract ))b
group by b.a, b.b, b.g, b.c, b.d, b.e, b.f;

abufalia
09 de Marzo del 2004
Mira a ver si te sirve esto:

INSERT INTO services_programs
(idcontract, idprogram, idservice, cname, dinactive, nservicecode,
dupdate)
SELECT b.a, b.b, MAX (a.idservice) + b.g, b.c, b.d, b.e, b.f
FROM services_programs a,
(SELECT a, b, ROWNUM g, c, d, e, f
FROM (SELECT DISTINCT c.idcontract a, d.idprogram b,
&variable1 c,
NULL d, &
variable2 e,
SYSDATE f
FROM contracts c,
program_contracts d,
services_programs e
WHERE c.idcontract IN (6, 8, 9)
AND ( d.idprogram = 1
OR d.idprogram = 2
OR d.idprogram = 5
)
AND d.idcontract = c.idcontract)) b
GROUP BY b.a, b.b, b.g, b.c, b.d, b.e, b.f;