Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

problema con trigger

Estas en el tema de problema con trigger en el foro de Oracle en Foros del Web. Hola buenos dias, tengo el sigueinte trigger BEGIN DECLARE Var_Tabla Varchar2(50):='table'; Cadena_old Varchar2(32767); Cadena_new Varchar2(32767); CURSOR CUR_Tabla is Select * From SYS.DBA_tab_columns t Where owner ...
  #1 (permalink)  
Antiguo 28/07/2006, 01:08
 
Fecha de Ingreso: julio-2006
Mensajes: 1
Antigüedad: 18 años, 3 meses
Puntos: 0
problema con trigger

Hola buenos dias, tengo el sigueinte trigger

BEGIN
DECLARE
Var_Tabla Varchar2(50):='table';
Cadena_old Varchar2(32767);
Cadena_new Varchar2(32767);
CURSOR CUR_Tabla is
Select *
From SYS.DBA_tab_columns t
Where owner = 'usu' and table_name = Var_Tabla
Order by t.COLUMN_ID;
BEGIN
IF (INSERTING OR UPDATING OR DELETING)
THEN
FOR reg_Tabla IN CUR_Tabla LOOP
Begin
Cadena_new := Cadena_New || '|' || reg_Tabla.Column_Name;
Cadena_old := Cadena_old || '|' || reg_Tabla.Column_Name;
-- When Others Then
-- Null;
End;
End Loop;
PKG_A.P_AU (Var_Tabla, 'Usuario',Cadena_old,Cadena_new);
END IF;
END triger;
END;

Funciona correctamente pero me devuleve el nombre de las columnas y yo lo k kerria es el valor de los campos sin necesidad de estar poniendo a mano los todos los campos old y new.
Un saludo
  #2 (permalink)  
Antiguo 02/08/2006, 11:43
Avatar de Worp9975  
Fecha de Ingreso: mayo-2006
Ubicación: LV-426
Mensajes: 203
Antigüedad: 18 años, 5 meses
Puntos: 1
Eso no funciona así . Tienes que usar las variables :old y :new . Las vistas del diccionario de datos sólo contienen meta-información, las tablas información, etc. pero no se almacena en ninguna vista lo que tú buscas.

Salu2
__________________
Time is the fire in which we burn
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:33.