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

Modificar Trigger

Estas en el tema de Modificar Trigger en el foro de SQL Server en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 01/12/2013, 11:40
 
Fecha de Ingreso: noviembre-2013
Mensajes: 28
Antigüedad: 11 años
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 :(
  #2 (permalink)  
Antiguo 01/12/2013, 19:16
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Modificar Trigger

y que se supone que hace ese codigo? que quieres modificar, lo modificable???? porque en el trigger de update solo usas la tabla inserted?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 01/12/2013, 20:27
 
Fecha de Ingreso: noviembre-2013
Mensajes: 28
Antigüedad: 11 años
Puntos: 0
Respuesta: Modificar Trigger

Cita:
Iniciado por Libras Ver Mensaje
y que se supone que hace ese codigo? que quieres modificar, lo modificable???? porque en el trigger de update solo usas la tabla inserted?
De eso es lo que no tengo idea :/
  #4 (permalink)  
Antiguo 01/12/2013, 20:48
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Modificar Trigger

o sea no sabes lo que hace el codigo???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 01/12/2013, 20:57
 
Fecha de Ingreso: noviembre-2013
Mensajes: 28
Antigüedad: 11 años
Puntos: 0
Respuesta: Modificar Trigger

Cita:
Iniciado por Libras Ver Mensaje
o sea no sabes lo que hace el codigo???
Si se lo que hace pero quiero buscar la forma de que haga lo mismo pero modificandole algo noc si me dejo entender ¿?
  #6 (permalink)  
Antiguo 01/12/2013, 21:12
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Modificar Trigger

pero modificando algo para que??? dime que hace tu proceso y que quieres modificar, si tu proceso hace lo que tiene que hacer porque lo quieres modificar? para que se vea diferente que el de tu compañero????
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 01/12/2013, 21:38
 
Fecha de Ingreso: noviembre-2013
Mensajes: 28
Antigüedad: 11 años
Puntos: 0
Respuesta: Modificar Trigger

Cita:
Iniciado por Libras Ver Mensaje
pero modificando algo para que??? dime que hace tu proceso y que quieres modificar, si tu proceso hace lo que tiene que hacer porque lo quieres modificar? para que se vea diferente que el de tu compañero????
Esa es quiero que se vea diferente al de mi compañero. :D Sorry por ser tan molesto
  #8 (permalink)  
Antiguo 01/12/2013, 21:45
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Modificar Trigger

Código SQL:
Ver original
  1. --PREGUNTA 1
  2.  
  3. ALTER TRIGGER EJE1
  4. ON dbo.Proceso_proyecto
  5. AFTER INSERT
  6. AS
  7.  
  8. INSERT INTO detalle_proyecto(n_registro,año,fecha,codestado,observaciones,codusuario)
  9. SELECT n_registro,año,fecha_inicio,1,observacion,usuario FROM INSERTED
  10.  
  11.  
  12. INSERT INTO proceso_proyecto(n_registro,año,fecha_inicio,codcliente,observacion,codusuario,responsable)
  13. VALUES('100',1,'05-07-2000',1,'PROCESANDO',100,100)

algo asi???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #9 (permalink)  
Antiguo 01/12/2013, 21:52
 
Fecha de Ingreso: noviembre-2013
Mensajes: 28
Antigüedad: 11 años
Puntos: 0
Respuesta: Modificar Trigger

Cita:
Iniciado por Libras Ver Mensaje
Código SQL:
Ver original
  1. --PREGUNTA 1
  2.  
  3. ALTER TRIGGER EJE1
  4. ON dbo.Proceso_proyecto
  5. AFTER INSERT
  6. AS
  7.  
  8. INSERT INTO detalle_proyecto(n_registro,año,fecha,codestado,observaciones,codusuario)
  9. SELECT n_registro,año,fecha_inicio,1,observacion,usuario FROM INSERTED
  10.  
  11.  
  12. INSERT INTO proceso_proyecto(n_registro,año,fecha_inicio,codcliente,observacion,codusuario,responsable)
  13. VALUES('100',1,'05-07-2000',1,'PROCESANDO',100,100)

algo asi???
}

Claro pero los DECLARE Y LOS SET por ejemplo en ese disparador para que servian, ese codigo haria lo mismo que el yo puse ¿?
  #10 (permalink)  
Antiguo 01/12/2013, 21:57
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Modificar Trigger

quieres que te ayude y pones en duda lo que te estoy proponiendo? probaste el codigo que tenias y el que te puse??? creo que no.....el codigo que tu tenias seteaba en varias variables el contenido que viene en la tabla inserted, no lo modificabas, no tenias condiciones nada, solo lo ponias en una variable y lo insertabas lo cual es lo mismo que te estoy planteando pero con un codigo diferente, pruebalo y comentas :)

Creo que vas a reprobar juar juar juar :P
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #11 (permalink)  
Antiguo 01/12/2013, 22:28
 
Fecha de Ingreso: noviembre-2013
Mensajes: 28
Antigüedad: 11 años
Puntos: 0
Respuesta: Modificar Trigger

No pongo en duda, lo que pasa es que no entendia, igual muchas gracias y espero no reprobar

Etiquetas: disparadores
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 11:03.