[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4688: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4690: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4691: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
Codigueando • Ver Tema - ¿sentencia SQL para la creación de un trigger en SQLDEVELOPE
Índice general Preguntas y respuestas. - Resuelve tus Dudas. SQL ¿sentencia SQL para la creación de un trigger en SQLDEVELOPE

¿sentencia SQL para la creación de un trigger en SQLDEVELOPE

Postea aquí tus dudas con problemas o ejercicios en lenguaje SQL

Reglas del Foro




dsisa Aprendiz de programador

Mensajes: 5
Buenas:
Soy estudiante de ing. tengo una gran duda en la sentencia para la creacion de un Trigger en SQLDEVELOPER.
En el cual me solicitaban: En la base de datos de una tienda tiene la relacion entre las siguientes tablas:
Productos: (cod_producto, nombre,costo_unitario,codigo_tipo)
clase producto: (id_tipo,nombre_tipo)
Realizar un Trigger que permita lo siguiente cuando sea ingresado un producto)
Si el tipo de producto es "1" incremente su valor en 2%
Si el tipo de producto es "2" decremente su valor en el 20%
Si el tipo de producto es "3" incremente su valor en $200
Si el tipo de producto es "4" lo aproxime al entero o igual al valor ingresado.

En una tabla llamada auditoria: registre fecha y hora de la inserción , usuario que hizo el registro, codigo del producto ingresado. ¿Este es el problema o el ejercicio?

ANTE EL CUAL YO CREO PRIMERO LAS TABLAS INDICADAS:

CREATE TABLE PRODUCTOS (cod_producto int primary key,nombre_producto char(25),costo_unitario number(30),codigo_tipo number(10));

CREATE TABLE CLASPRODUCTO (id_tipo int primary key,nombre_tipo char (20));

DESPUES EMPIEZO A CREAR EL TIGGER:

CREATE OR REPLACE TRIGGER AUDITORIA_PRODUCTOS
BEFORE INSERT ON AUDITORIA
FOR EACH ROW
DECLARE
V_NOMBRE_USUARIO VARCHAR2 (20);
CONTADOR INTEGER;


BEGIN
SELECT COUNT (*) INTO CONTADOR
FROM PRODUCTOS;
WHERE codigo_tipo =:NEW.costo_unitario;
IF codigo_tipo =1
THEN :NEW.costo_unitario; =(+*0.2/100)
END IF;
IF CODIGO_TIPO =2
THEN :NEW.costo_unitario; =(-*0.20/100)
END IF;
IF codigo_tipo =3
THEN :NEW.costo_unitario; =(+200)
END IF;
IF codigo_tipo =4
THEN :NEW.costo_unitario; =()
END IF;
IF codigo_tipo >4
THEN raise_application_error
(-20145,:NEW.costo_unitario || ´no es posible que el codigo sea mayor a 4´);
END IF;
END;

Esta fue la sentencia que realice para este Trigger pero en la cual no realice todo lo que pide insertar en la tabla auditoria.
aun que se que la creacion de un trigger para que me inserte la hora y fecha de la insercion del dato y el usuario que la realizo es la siguiente:
CREATE OR RELACE AUDITORIA_PRODUCTOS
BEFORE INSERT ON AUDITORIA
FOR EACH ROW
DECLARE
V_NOMBRE_USUARIO VARCHAR2(20);
BEGIN
SELECT USER INTO V_NOMBRE_USUARIO
FROM PRODUCTOS;
:NEW.FECHA_CREACION:=SYSDATE;
:NEW.USARIO_BD:=V_NOMBRE_USUARIO;
END;

este tigger si me inserta el usuario y la fecha en la que fue insertada el dato pero en el primero no. no se si las condiciones si ,if estén bien realizadas
Agradezco mucho la colaboración.

damasta Avatar de Usuario
Site Admin

Mensajes: 343
Mira amigo te comparto éste link, donde puedes consultar los TRIGGERS a fondo.

http://www.devjoker.com/contenidos/cats ... t-SQL.aspx

Estámos para ayudar.


Volver a SQL

cron