Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/07/2009, 11:38
Avatar de Dradi7
Dradi7
 
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 11 meses
Puntos: 220
Respuesta: Procedimiento almacenado de insercion (con cursores)

Pruebalo asi
Código sql:
Ver original
  1. CREATE PROCEDURE insertarPorCargo
  2. (
  3.     @CODIGO_CAP VARCHAR(20)
  4.     @CODIGO_CARGO VARCHAR(20)
  5.     @FECHA DATETIME
  6.     @TEMA VARCHAR(40)
  7.     @DURACION VARCHAR(10)
  8.     @LUGAR VARCHAR(30)
  9.     @CODDEPTO VARCHAR(20)
  10.     @HORA_INICIO VARCHAR(10)
  11.     @HORA_FIN VARCHAR(10)
  12.     @TIPO VARCHAR(10)
  13.     @RUT_RELATOR VARCHAR(15)
  14. )
  15. AS
  16. BEGIN
  17.    
  18.     SET NOCOUNT ON;
  19.  
  20.     DECLARE @RUT VARCHAR(30) -- SUPONGO QUE EL TIPO ES VARCHAR
  21.  
  22.     DECLARE C1 CURSOR FOR
  23.             SELECT RUT FROM EMPLEADO
  24.             WHERE CODIGO_CARGO = @CODIGO_CARGO
  25.             ORDER BY RUT;
  26.  
  27.     OPEN C1
  28.     FETCH NEXT FROM C1 INTO @RUT
  29.  
  30.     WHILE @@FETCH_STATUS = 0
  31.         BEGIN
  32.             INSERT INTO CAPACITACION VALUES(@CODIGO_CAP, @FECHA, @TEMA, @DURACION, @LUGAR, @CODDEPTO, @HORA_INICIO, @HORA_FIN, @TIPO, @CODIGO_CARGO, @RUT_RELATOR, @RUT)
  33.             FETCH NEXT FROM C1 INTO @RUT
  34.         END
  35.    
  36. END
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones