Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/11/2013, 15:04
Avatar de aid_val
aid_val
 
Fecha de Ingreso: mayo-2013
Ubicación: Guanajuato
Mensajes: 302
Antigüedad: 11 años
Puntos: 5
Insertar registros con procedimiento almacenado

Hola a todos de nuevo.

He trabajado por un tiempo con un catalogo de conceptos que tiene la siguiente estructura.
Código TABLA:
Ver original
  1. Codigo 1     CODIGO 2       DESCRIPCIÓN      UNIDAD        CANTIDAD
  2. CAP           CAP                CONCEPTO
  3. CAP 01        CAP                CONCEPTO           M           123
  4. CAP 01 01     CAP                CONCEPTO           M           123
BIEN TODO ESTO LO INSERTO CON UN PROCEDIMIENTO ALMACENADO QUE ES EL SIGUIENTE
Código SQL:
Ver original
  1. ALTER PROCEDURE [dbo].[pa_guardar_Concepto]
  2.  @nombre_presupuesto VARCHAR(50),
  3.  @codigo_presupuesto VARCHAR(25),
  4.  @codigo_contratado VARCHAR(25),
  5.  @descripcion_presupuesto VARCHAR(MAX),
  6.  @unidad_presupuesto VARCHAR(15),
  7.  @cantidad_presupuesto VARCHAR(50),
  8.  @precio_unitario_presupuesto VARCHAR(50),
  9.  @importe_presupuesto VARCHAR(50)
  10. AS
  11. BEGIN try
  12. BEGIN tran
  13. IF (@cantidad_presupuesto = '' )
  14. BEGIN
  15. SET @cantidad_presupuesto=NULL
  16. IF (@precio_unitario_presupuesto='')
  17. BEGIN
  18. SET @precio_unitario_presupuesto =NULL
  19. IF(@importe_presupuesto ='')
  20. BEGIN
  21. SET  @importe_presupuesto =NULL
  22. END
  23. END
  24. END
  25.  
  26.  
  27. INSERT INTO  ConceptoPresu(id_presupuesto,
  28.                             codigo_presupuesto,
  29.                             codigo_presupuesto_real,
  30.                             descripcion_presupuesto,
  31.                             unidad_presupuesto,
  32.                             cantidad_presupuesto,
  33.                             precion_unitario_presupuesto,
  34.                             importe_presupuesto)
  35.                            
  36.                              VALUES(
  37.                              (SELECT id_presupuesto  FROM presupuesto WHERE nombre_presupuesto=@nombre_presupuesto   ),
  38.                             @codigo_presupuesto ,
  39.                             @codigo_contratado,
  40. @descripcion_presupuesto ,
  41. @unidad_presupuesto ,
  42. @cantidad_presupuesto ,
  43. @precio_unitario_presupuesto ,
  44. @importe_presupuesto )
  45. COMMIT
  46.  
  47.  
  48. END TRY
  49. BEGIN CATCH
  50.     ROLLBACK
  51.     PRINT error_message()
  52. END CATCH

BIEN POR CADA CONCEPTO QUE CARGA DE MI CATALOGO ENTRA UNA VES AL PROCEDIMIENTO ALMACENADO, MI PROBLEMA SURGE CUANDO QUIERO HACER REFERENCIA A SI MISMA.

EN LA ESTRUCTURA QUE PUSE ARRIBA TENGO TRES CONCEPTOS DIFERENTES
LA UNICA DIFERENCIA ESQUE EL PRIMER CONCEPTO NO TIENE DE LA UNIDAD EN ADELANTE Y LOS OTROS DOS SI ENTONCES LO QUE BUSCO ES QUE AL INSERTAR EL CONCEPTO QUE SIGUE HAGA REFERENCIA AL CONCEPTO ANTERIOR QUE NO TIENE DE LA UNIDAD EN ADELANTE.

SE PUEDE HACER??