none
PROCEDIMIENTO ALMACENADO QUE INSERTE RANGO DE REGISTROS. RRS feed

  • Pregunta

  • Buen dia alguien puede ayudarme con lo siguiente: Tengo dos tablas la primera es Caja, en esta voy a ingresar un (id_caja, Codigo_inicio, Codigo_final).   La segunda tabla se llama Boleta, en esta voy a ingresar (id_boleta, id_caja, Código, estado). La situacion es la siguiente: necesito un procedimiento almacenado que cuando ingrese una caja con el codigo de inicio y el codigo final, se inserten ese rango de registros en la tabla boleta. por ejemplo en el codigo_inicio ingreso 22,000 codigo_final 22,250 se tienen que crear 250 registros en la tabla boleta.   
    jueves, 8 de marzo de 2018 23:11

Respuestas

  • Saludos, podrías utilizar algo así:

    DECLARE  @Start INT
    DECLARE  @end INT
    DECLARE @caja nchar(10) -- los tipos de datos debes adecuarlos a tu requerimiento.

    SET @Start= (SELECT c.inicio FROM dbo.cajas c) --- debes anexar las codiciones que se adecuan a tus necesidades.
    SET @end= (SELECT c.fin FROM dbo.cajas c) --- debes anexar las codiciones que se adecuan a tus necesidades.
    SET @caja= (SELECT c.caja FROM dbo.cajas c) --- debes anexar las codiciones que se adecuan a tus necesidades.
    WHILE @Start <= @end
    BEGIN 
    INSERT INTO boletas (folio,caja)
    VALUES (@Start,@caja)
    SET @Start = 1 + @Start
    END

    Espero te sea de utilidad.


    Damian C M

    viernes, 9 de marzo de 2018 18:38

Todas las respuestas

  • Entendido, ¿que avance lleva?, ¿id_boleta es un CONSECUTIVO?, Supongo que Codigo es un consecutivo de los codigos ingresados?, ¿que valor lleva ESTADO?

    viernes, 9 de marzo de 2018 0:00
  • Hola FranciscoGuzman20

    Con respecto a tu consulta, para que los colaboradores del foro puedan asesorarte mejor te recomiendo que coloques tu código o tablas al fin que puedan (los colaboradores) ver con mas claridad donde está tu problema y así poderte asesorarte mejor.

    Quedamos al pendiente de cualquier actualización de tu parte.

    Saludos Cordiales.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    viernes, 9 de marzo de 2018 18:10
    Moderador
  • Saludos, podrías utilizar algo así:

    DECLARE  @Start INT
    DECLARE  @end INT
    DECLARE @caja nchar(10) -- los tipos de datos debes adecuarlos a tu requerimiento.

    SET @Start= (SELECT c.inicio FROM dbo.cajas c) --- debes anexar las codiciones que se adecuan a tus necesidades.
    SET @end= (SELECT c.fin FROM dbo.cajas c) --- debes anexar las codiciones que se adecuan a tus necesidades.
    SET @caja= (SELECT c.caja FROM dbo.cajas c) --- debes anexar las codiciones que se adecuan a tus necesidades.
    WHILE @Start <= @end
    BEGIN 
    INSERT INTO boletas (folio,caja)
    VALUES (@Start,@caja)
    SET @Start = 1 + @Start
    END

    Espero te sea de utilidad.


    Damian C M

    viernes, 9 de marzo de 2018 18:38