Tengo una duda de como crear un procedimiento almacenado en sql server, que inserte datos en una tabla (datos que se le dan por parámetro) y otro dato que se extrae de un cursor.
Explico lo que quiero que haga.
1° Crear el procedimiento
2° Declaro los datos que se recibirán
3° creo el cursor, seleccionando todos los registros que cumplen con una condicion dada
4° comienzo el procedimiento (begin)
5° por cada uno de los registros que están en el cursor inserto en una tabla los datos resibidos por parámetro y el dato que extraigo del cursor.
6° fin del procedimiento-
Pongo el código de como lo haría, lo malo es que no se como hacer ese codigo para sql server, ya que por ejemplo el cursor no se puede recorrer con un for...
Código:
Gracias gente del foro! Espero que alguien me pueda ayudar.... CREATE PROCEDURE insertarPorCargo @CODIGO_CAP VARCHAR(20) @CODIGO_CARGO VARCHAR(20) @FECHA DATETIME @TEMA VARCHAR(40) @DURACION VARCHAR(10) @LUGAR VARCHAR(30) @CODDEPTO VARCHAR(20) @HORA_INICIO VARCHAR(10) @HORA_FIN VARCHAR(10) @TIPO VARCHAR(10) @RUT_RELATOR VARCHAR(15) CURSOR C1 IS SELECT RUT FROM EMPLEADO WHERE CODIGO_CARGO = @CODIGO_CARGO ORDER BY RUT; AS BEGIN FOR REGISTRO IN C1 LOOP INSERT INTO CAPACITACION VALUES(@CODIGO_CAP, @FECHA, @TEMA, @DURACION, @LUGAR, @CODDEPTO, @HORA_INICIO, @HORA_FIN, @TIPO, @CODIGO_CARGO, @RUT_RELATOR, REGISTRO.RUT) END LOOP SET NOCOUNT ON; END