Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:
Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro

Alguien podria ayudarme con este ejercicio de disparadores?

Select Lenguaje Query, aqui podras encontrás Consultas coomo Select, Insert, Update...., y mucho mas...

Alguien podria ayudarme con este ejercicio de disparadores?

Notapor elenita7 el Jue Mar 06, 2008 4:00 am

Supongamos que tenemos una tabla de distancias de diferentes rutas y que queremos
guardar estas distancias en kilómetros y en millas.

Distancias: ruta (10 caracteres), distancia_k (numérico), distancia_m (numérico).
Siendo ruta la clave principal.

Crear disparadores para conseguir que cuando se introduzca (o se modifique) una
distancia en kilómetros, automáticamente se introduzca también en millas y
viceversa. (1 Km=0.621371 millas y 1 Milla=1.609344 Km)

YO HICE ESTE DISPARADOR:
CREATE OR REPLACE TRIGGER EJERC7
BEFORE UPDATE OR INSERT ON DISTANCIAS
FOR EACH ROW
DECLARE
V_REG NUMBER;
V_KILOM NUMBER;
V_MILLAS NUMBER;
V_REG1 NUMBER;
BEGIN
IF UPDATING ('DISTANCIA_K') THEN
SELECT DISTANCIA_K INTO V_KILOM FROM DISTANCIAS;
V_REG := V_KILOM*0.621371;
INSERT INTO DISTANCIAS (DISTANCIA_M)
VALUES (V_REG);
ELSIF UPDATING ('DISTANCIA_M') THEN
SELECT DISTANCIA_M INTO V_MILLAS FROM DISTANCIAS;
V_REG := V_KILOM*1.609344;
INSERT INTO DISTANCIAS (DISTANCIA_K)
VALUES (V_REG);
ELSIF INSERTING THEN
SELECT DISTANCIA_K, DISTANCIA_M INTO V_KILOM, V_MILLAS FROM DISTANCIAS;
V_REG := V_KILOM*0.621371;
V_REG1 := V_KILOM*1.609344;
INSERT INTO DISTANCIAS (DISTANCIA_K, DISTANCIA_M)
VALUES (V_REG, V_REG1);
END IF;
END;
/
PERO ME DA ERROR, ALGUIEN SABE DE QUE OTRA FORMA PODRIA HACERLO?. GRACIAS
elenita7
Novato
Novato
 
Mensajes: 2
Registrado: Jue Mar 06, 2008 3:51 am

Re: Alguien podria ayudarme con este ejercicio de disparadores?

Notapor Laopecillo! el Jue Mar 06, 2008 7:02 am

Hola pues seria bueno conocer el error que te manda asi podemos orientarte partiendo de alli y no tratando de hacer el programa de nuevo.
Laopecillo!
Novato
Novato
 
Mensajes: 13
Registrado: Mar Nov 13, 2007 10:14 am
Ubicación: Panama

Re: Alguien podria ayudarme con este ejercicio de disparadores?

Notapor elenita7 el Jue Mar 06, 2008 8:50 am

al probarlo me dice k el disparador esta mal.
elenita7
Novato
Novato
 
Mensajes: 2
Registrado: Jue Mar 06, 2008 3:51 am

Re: Alguien podria ayudarme con este ejercicio de disparadores?

Notapor Laopecillo! el Jue Mar 06, 2008 2:14 pm

Pues claro te creo pero me referia a el error tal cual los despilega la aplciacion. donde lo estas corriendo o ejecutando??

Sabes que me llama la atencion que los "Select into" quwe reALIZAS A LO largo del programa no tienesn un "where" que limite la consulta o query a un registro ya que de lo contrario como puedes estar asignandole valores corectos a las variables.

ademas dependiendo si estas usando ORACLE o SQL hay maeras de acceder a los valores especificos que estan siendo trabajados
Laopecillo!
Novato
Novato
 
Mensajes: 13
Registrado: Mar Nov 13, 2007 10:14 am
Ubicación: Panama


Volver a El lenguaje SQL

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados