elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Ayuda con trigger
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con trigger  (Leído 279 veces)
juan_1

Desconectado Desconectado

Mensajes: 60


Ver Perfil
Ayuda con trigger
« en: 6 Noviembre 2018, 20:32 »

Tengo estas tablas:
create table clientes (
codigo varchar2(2) primary key,
nombre varchar2(50));

create table pedidos (
cliente varchar2(2),
producto varchar2(20),
cantidad int check(cantidad>0),
foreign key (producto) references producto(nombre),
foreign key (cliente) references clientes(codigo));
y otra tabla a mayores llamada CAMBIOS que es donde insertaré el mensaje, con 4 campos.

Crea un nuevo trigger llamado FD_CLIENTE que:
- creará un nuevo registro en CAMBIOS por cada uno de los clientes
que se den de baja.
- en el campo TIPO almacenará el texto “ se ha realizado una baja del
cliente clave con nombre nombre”
- en el campo MOMENTO se almacenará la fecha y la hora en la que
se ha producido

Hemos empezado a ver los trigger y no se muy bien como insertar un nuevo registro por cada cliente que se de de baja


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.703


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: Ayuda con trigger
« Respuesta #1 en: 6 Noviembre 2018, 20:38 »

En la tabla de clientes debe de existir ese cambio, es decir, un campo tipo bit o booleano.
Ejemplo:
Código
  1. CREATE TABLE `Clientes`(
  2.   `Codigo` INT NOT NULL,
  3.   `Nombre` VARCHAR(50) NOT NULL,
  4.   `Estado` TINYINT NULL,
  5.   PRIMARY KEY(`Codigo`)
  6. );

El tigger debe de disparar cuando cambie de TRUE a FALSE el cliente. Para identificar cuando se da de baja.

No soy bueno en esto, así que espera a que alguien más de ayude  :silbar:


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Tordur

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Ayuda con trigger
« Respuesta #2 en: 17 Diciembre 2018, 23:00 »

Buenas, si he entendido bien lo que pides, es que cuando se elimine un cliente de la tabla Clientes se ponga un registro en Cambios respecto al cliente.

Como no se que 4 campos tiene Cambios voy a suponer que son clientes.codigo, clientes.nombre, un mensaje personalizado y el tiempo al darse de baja.

Mi idea es la siguiente:

Código
  1. CREATE OR REPLACE TRIGGER ClienteBaja
  2. BEFORE DELETE ON Clientes
  3. FOR EACH ROW
  4. BEGIN
  5.    INSERT INTO Cambios(:OLD.Codigo, :OLD.Nombre, "No quiere pagar tanto el rata",SYSDATE);
  6. END;

Como te digo no se los campos que quieres usar, el mensaje seria generico para todos, pero con esto ya puedes empezar a hacerlo tuyo.

PD: Si alguien que sepa mas que yo ve algo mal corregirme. Gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con trigger
Programación Visual Basic
Webagent007 1 990 Último mensaje 12 Marzo 2006, 21:20
por Webagent007
TRIGGER EN ORACLE
Bases de Datos
RULZY 2 4,906 Último mensaje 6 Julio 2011, 22:36
por kekehuete
java y trigger
Java
.rn3w. 2 2,187 Último mensaje 12 Junio 2012, 02:52
por lluvplay
trigger
Bases de Datos
basickdagger 8 4,482 Último mensaje 12 Marzo 2013, 07:32
por basickdagger
[AYUDA] Trigger Spawn en Geometry Dash...
Juegos y Consolas
.:Xx4NG3LxX:. 0 283 Último mensaje 7 Febrero 2020, 16:12
por .:Xx4NG3LxX:.
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines