Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 4.93 KB | None | 0 0
  1. CREATE DATABASE EXAMEN
  2. USE EXAMEN
  3.  
  4. CREATE TABLE PASAJERO(
  5.     IDPASAJERO  CHAR(5)         NOT NULL,
  6.     NOMBRES     VARCHAR(50)     NOT NULL,
  7.     IDPAIS      CHAR(4)         NOT NULL,
  8.     TELEFONO    CHAR(15)        NOT NULL,
  9.     EMAIL       VARCHAR(50)     NOT NULL  
  10. )
  11.  
  12. CREATE TABLE pasajero_h
  13. (
  14.     ID_MOV INT,
  15.        TIPO_MOV VARCHAR(20),
  16.        --(Valores válidos: INSERT, UPDATE, DELETE)
  17.         ID_CAMPO VARCHAR (20),
  18.        VALOR_NUEVO VARCHAR (50) ,
  19.        VALOR_ANT VARCHAR(50),  
  20.        FECHA_MOV datetime
  21.  
  22.  
  23. )
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32. DECLARE @valor VARCHAR (50)
  33. SET @valor = 'xcvxcvxcvxcv'
  34.  
  35.  
  36.  
  37. UPDATE PASAJERO SET IDPASAJERO = 10 WHERE NOMBRES ='nombre1';
  38.  
  39. UPDATE PASAJERO SET NOMBRES = 'nomnrenuevo3' WHERE NOMBRES ='nomnrenuevo2';
  40.  
  41.  
  42.  
  43.  
  44. DROP TRIGGER tr_pasajero_h
  45.  
  46.  
  47. SELECT * FROM pasajero
  48. SELECT * FROM pasajero_h
  49. SELECT * FROM DELETED.pasajero
  50.  
  51. DELETE FROM pasajero_h
  52. DELETE FROM pasajero
  53.  
  54.  
  55. INSERT INTO pasajero VALUES (3,'nombre1',3,3,'@gamil')
  56.  
  57.  DELETE FROM PASAJERO WHERE IDPASAJERO=3
  58.  
  59.  UPDATE PASAJERO SET IDPAIS = 7 WHERE IDPASAJERO =3;
  60.  
  61.  
  62.  
  63.  
  64. CREATE TRIGGER tr_pasajero_h
  65.  
  66. ON PASAJERO
  67. FOR INSERT,DELETE,UPDATE
  68. AS
  69.    
  70.    
  71.     IF UPDATE(IDPASAJERO) AND ( EXISTS(SELECT IDPASAJERO FROM inserted pasajero ) AND EXISTS(SELECT IDPASAJERO FROM deleted pasajero ) )
  72.     BEGIN
  73.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'UPDATE','IDPASAJERO',( SELECT TOP 1 IDPASAJERO FROM inserted PASAJERO  ) ,(SELECT TOP 1 IDPASAJERO FROM deleted PASAJERO),Getdate() )
  74.     END
  75.  
  76.      IF UPDATE(NOMBRES) AND ( EXISTS(SELECT NOMBRES FROM inserted pasajero ) AND EXISTS(SELECT NOMBRES FROM deleted pasajero ) )
  77.     BEGIN
  78.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'UPDATE','NOMBRES',( SELECT TOP 1 NOMBRES FROM inserted PASAJERO  ) ,(SELECT TOP 1 NOMBRES FROM deleted PASAJERO),Getdate() )
  79.     END
  80.  
  81.        IF UPDATE(IDPAIS) AND ( EXISTS(SELECT IDPAIS FROM inserted pasajero ) AND EXISTS(SELECT IDPAIS FROM deleted pasajero ) )
  82.     BEGIN
  83.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'UPDATE','IDPAIS',( SELECT TOP 1 IDPAIS FROM inserted PASAJERO  ) ,(SELECT TOP 1 IDPAIS FROM deleted PASAJERO),Getdate() )
  84.     END
  85.    
  86.       IF UPDATE(TELEFONO) AND ( EXISTS(SELECT TELEFONO FROM inserted pasajero ) AND EXISTS(SELECT TELEFONO FROM deleted pasajero ) )
  87.     BEGIN
  88.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'UPDATE','TELEFONO',( SELECT TOP 1 TELEFONO FROM inserted PASAJERO  ) ,(SELECT TOP 1 TELEFONO FROM deleted PASAJERO),Getdate() )
  89.     END
  90.  
  91.       IF UPDATE(EMAIL) AND ( EXISTS(SELECT EMAIL FROM inserted pasajero ) AND EXISTS(SELECT EMAIL FROM deleted pasajero ) )
  92.     BEGIN
  93.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'UPDATE','EMAIL',( SELECT TOP 1 EMAIL FROM inserted PASAJERO  ) ,(SELECT TOP 1 EMAIL FROM deleted PASAJERO),Getdate() )
  94.     END
  95.  
  96.  ---------------
  97.  
  98.     IF EXISTS(SELECT * FROM inserted pasajero ) AND NOT EXISTS(SELECT * FROM deleted pasajero )
  99.     BEGIN
  100.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'INSERT','IDPASAJERO',( SELECT TOP 1 IDPASAJERO FROM inserted PASAJERO  ) ,(SELECT TOP 1 IDPASAJERO FROM deleted PASAJERO),Getdate() )
  101.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'INSERT','NOMBRES',( SELECT TOP 1 NOMBRES FROM inserted PASAJERO  ) ,(SELECT TOP 1 NOMBRES FROM deleted PASAJERO),Getdate() )
  102.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'INSERT','IDPAIS',( SELECT TOP 1 IDPAIS FROM inserted PASAJERO  ) ,(SELECT TOP 1 IDPAIS FROM deleted PASAJERO),Getdate() )
  103.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'INSERT','TELEFONO',( SELECT TOP 1 TELEFONO FROM inserted PASAJERO  ) ,(SELECT TOP 1 TELEFONO FROM deleted PASAJERO),Getdate() )
  104.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'INSERT','EMAIL',( SELECT TOP 1 EMAIL FROM inserted PASAJERO  ) ,(SELECT TOP 1 EMAIL FROM deleted PASAJERO),Getdate() )
  105.     END
  106.  
  107.  
  108.     IF EXISTS(SELECT * FROM deleted pasajero) AND NOT EXISTS(SELECT * FROM inserted pasajero)  
  109.     BEGIN
  110.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'DELETE','IDPASAJERO',( SELECT TOP 1 IDPASAJERO FROM inserted PASAJERO  ) ,(SELECT TOP 1 IDPASAJERO FROM deleted PASAJERO),Getdate() )
  111.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'DELETE','NOMBRES',( SELECT TOP 1 NOMBRES FROM inserted PASAJERO  ) ,(SELECT TOP 1 NOMBRES FROM deleted PASAJERO),Getdate() )
  112.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'DELETE','IDPAIS',( SELECT TOP 1 IDPAIS FROM inserted PASAJERO  ) ,(SELECT TOP 1 IDPAIS FROM deleted PASAJERO),Getdate() )
  113.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'DELETE','TELEFONO',( SELECT TOP 1 TELEFONO FROM inserted PASAJERO  ) ,(SELECT TOP 1 TELEFONO FROM deleted PASAJERO),Getdate() )
  114.     INSERT INTO pasajero_h VALUES (NEXT VALUE FOR ID_MOV ,'DELETE','EMAIL',( SELECT TOP 1 EMAIL FROM inserted PASAJERO  ) ,(SELECT TOP 1 EMAIL FROM deleted PASAJERO),Getdate() )
  115.     END
  116.  
  117.  
  118.  
  119.     --if insert()
  120.  
  121.     --
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130. CREATE SEQUENCE ID_MOV
  131.   START WITH 1
  132.   INCREMENT BY 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement