PDA

Ver la Versión Completa : triggers SQL server


Juanito-Kun
07-07-2005, 19:27:12
Hola saludos.. perdonen por ser tan molestoso, jejeje:D.

Trabajo con Delphi 7 y SQL server 2000.
Estoy haciendo un Trigger para que me de el ultimo alumno insertado...

Explico:

Tengo la tabla Alumnos y quiero que cada ves que inserte me de el numero mas alto(campo control) y me lo ponga en el registro insertado..

hice este, pero me lo cambia en todos de la tabla, jejej

CREATE TRIGGER Control
on Participante
FOR INSERT
AS

UPDATE Participante
SET Participante.Control =((SELECT MAX(Control) FROM Participante) + 1)


quiero que me lo ponga en el regristro que inserto, si me pueden poner un ejemplo o completar mi codigo.

de antemano Gracias

delphi.com.ar
07-07-2005, 20:02:02
Para saber cual es el registro insertado, puedes utilizar la "tabla virutal" INSERTED. Inserted es una "Tabla Virtual" que existe en los triggers FOR UPDATE y FOR INSERT que tiene los datos nuevos que se han ingresado a la tabla, su contrapartida es UPDATED.

http://www.clubdelphi.com/foros/showthread.php?t=2103

Juanito-Kun
07-07-2005, 20:23:20
maaa, no se donde empezar , podrias darme un pequeño ejemplo para mi caso..

Gracias..

delphi.com.ar
07-07-2005, 20:35:36
¿Viste el link que te pasé?...


CREATE TRIGGER TRG_NACIONALIDAD_UPDATE ON NACIONALIDAD
FOR UPDATE
AS
begin
SELECT @ID_CLAVE = ID_NACIONALIDAD
FROM INSERTED

UPDATE PERSONAS
SET ALGO = ALGO + 1
WHERE NACIONALIDAD_ID = @ID_CLAVE
end

Juanito-Kun
07-07-2005, 22:49:42
Sip y no entendi mucho....

CREATE TRIGGER TRG_NACIONALIDAD_UPDATE ON NACIONALIDAD
FOR UPDATE
AS
begin
//Esta parte que haces?//:confused:
SELECT @ID_CLAVE = ID_NACIONALIDAD
FROM INSERTED

//y en esta?//:confused:
UPDATE PERSONAS
SET ALGO = ALGO + 1
WHERE NACIONALIDAD_ID = @ID_CLAVE
end

Perdon, es que estoy comensando con SQL server y delphi...:p

delphi.com.ar
07-07-2005, 23:02:50
Aquí tienes algo mas extendido de lo que te expliqué anteriormente: http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art168.asp

Saludos!

Juanito-Kun
07-07-2005, 23:11:26
Okas, Gracias delphi.com.ar.

Voy a machacar lo que me diste...

Saludos y Gracias....