Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/12/2013, 11:40
Luiszzxd
 
Fecha de Ingreso: noviembre-2013
Mensajes: 28
Antigüedad: 10 años, 5 meses
Puntos: 0
Modificar Trigger

Hola yo de nuevo ojala no les incomode pero tengo poca experiencia con Transact SQL Y queria pedir un gran favor

Estas 3 Consultas o Disparadores.

Código SQL:
Ver original
  1. --PREGUNTA 1
  2.  
  3. ALTER TRIGGER EJE1
  4. ON dbo.Proceso_proyecto
  5. AFTER INSERT
  6. AS
  7. DECLARE @N_REGISTRO INT
  8. DECLARE @AÑO INT
  9. DECLARE @FECHA DATE
  10. DECLARE @OBSERVACION VARCHAR(500)
  11. DECLARE @USUARIO INT
  12. SET @N_REGISTRO= (SELECT n_registro FROM INSERTED)
  13. SET @AÑO= (SELECT año FROM INSERTED)
  14. SET @FECHA= (SELECT fecha_Inicio FROM INSERTED)
  15. SET @OBSERVACION= (SELECT observacion FROM INSERTED)
  16. SET @USUARIO= (SELECT codusuario FROM INSERTED)
  17.  
  18. INSERT INTO detalle_proyecto(n_registro,año,fecha,codestado,observaciones,codusuario)
  19. VALUES(@N_REGISTRO,@AÑO,@FECHA,1,@OBSERVACION,@USUARIO)
  20.  
  21.  
  22. INSERT INTO proceso_proyecto(n_registro,año,fecha_inicio,codcliente,observacion,codusuario,responsable)
  23. VALUES('100',1,'05-07-2000',1,'PROCESANDO',100,100)
  24.  
  25.  
  26. --PREGUNTA 2
  27. ALTER TRIGGER EJE2
  28. ON dbo.Detalle_proyecto
  29. AFTER UPDATE
  30. AS
  31. DECLARE @REGISTRO INT
  32. DECLARE @ESTADO INT
  33. SET @ESTADO= (SELECT codestado FROM INSERTED)
  34. IF @ESTADO=3
  35. SET @REGISTRO=(SELECT n_registro FROM INSERTED)
  36. BEGIN
  37. UPDATE dbo.Proceso_proyecto
  38. SET CONCLUIDO=1,FECHA_CONCLUSION=GETDATE()
  39. WHERE n_registro=@REGISTRO
  40. END
  41.  
  42. INSERT INTO dbo.Detalle_proyecto(n_registro,codestado)
  43. VALUES(101,2)
  44. UPDATE dbo.Detalle_proyecto
  45. SET codestado=2
  46. WHERE n_registro=101
  47.  
  48.  
  49. --EJE3
  50. CREATE FUNCTION EJE3 (@COD INT,@AÑO INT)
  51. RETURNS VARCHAR(200)
  52. AS
  53. BEGIN
  54. DECLARE @RESPUESTA VARCHAR(200)
  55. SET @RESPUESTA=(SELECT T3.descripcion FROM Proceso_proyecto T1
  56. JOIN Detalle_proyecto T2
  57. ON T1.n_registro=T2.n_registro
  58. JOIN Estado_pro T3
  59. ON T2.CodEstado=T3.CodEstado
  60. WHERE T1.n_registro=@COD AND T1.concluido=1 AND T1.año=@AÑO AND T2.codestado=4)
  61. RETURN @RESPUESTA
  62. END
  63.  
  64. EXEC EJE3 1,1


Quiero modificarlos pero no solo en el alias sino tambien alguna que otra cosa que sea modificable por que es un examen final please ayudenme de este examen depende mi vida y como ven no soy bueno con transact :(