Sin Cursores

07/09/2006 - 16:41 por Jaime Lloret | Informe spam
Tengo una tabla de ejercicios (Cod, Año ) , una tabla de empresas (Cod,
Empresa ) y una tabla de numeraciones ( CodEmpresa, CodEjercicio,
Numeracion )

¿ Cómo puedo hacer mediante desencadenadores que despues de insertar una
empresa, me genere un registro por cada año, con esa empresa en la tabla
numeración ?

Es decir si tengo 3 años, al insertar un empresa debería hacer : Empresa1,
2001, 1 - Empresa1, 2002, 1, - Empresa1, 2003, 1

Gracias de antemano...

Un saludo


Jaime Lloret.
 

Leer las respuestas

#1 jcac
07/09/2006 - 17:01 | Informe spam
Este mas o menos deberia de ser tu trigger

create trigger actua on emp
for insert
as
insert into num
select inserted.cod, eje.cod, 1 from eje, inserted

te alcanzo como lo he probado

Create Table Eje(Cod int, Ano int)
insert Into Eje values(1,2001)
insert Into Eje values(2,2002)
insert Into Eje values(3,2003)
Create Table Emp (Cod int, Empr varchar(100))
insert into Emp values (1, 'A')
insert into Emp values (2, 'B')
Create Table Num (CodEp int, CodE int, Nume int)
insert into Num values (1, 1, 1)
insert into Num values (1, 2, 1)
insert into Num values (1, 3, 1)
insert into Num values (2, 1, 1)
insert into Num values (2, 2, 1)
insert into Num values (2, 3, 1)
go
create trigger actua on emp
for insert
as
insert into num
select inserted.cod, eje.cod, 1 from eje, inserted
go

insert into emp values (3, 'C')
go

select * from num
go

drop table eje
drop table num
drop table emp
go

Saludos

"Jaime Lloret" escribió en el mensaje
news:
Tengo una tabla de ejercicios (Cod, Año ) , una tabla de empresas (Cod,
Empresa ) y una tabla de numeraciones ( CodEmpresa, CodEjercicio,
Numeracion )

¿ Cómo puedo hacer mediante desencadenadores que despues de insertar una
empresa, me genere un registro por cada año, con esa empresa en la tabla
numeración ?

Es decir si tengo 3 años, al insertar un empresa debería hacer :
Empresa1, 2001, 1 - Empresa1, 2002, 1, - Empresa1, 2003, 1

Gracias de antemano...

Un saludo


Jaime Lloret.



Preguntas similares