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

como plantear Procedimiento Almacenado

Estas en el tema de como plantear Procedimiento Almacenado en el foro de SQL Server en Foros del Web. Buenos dias a todos tengo un problema y quisiera que me ayuden a despejar las dudas. ando buscando en internet no encontre nada parecedio. Se ...
  #1 (permalink)  
Antiguo 14/04/2012, 08:03
 
Fecha de Ingreso: febrero-2012
Mensajes: 44
Antigüedad: 12 años, 2 meses
Puntos: 0
como plantear Procedimiento Almacenado

Buenos dias a todos tengo un problema y quisiera que me ayuden a despejar las dudas. ando buscando en internet no encontre nada parecedio.
Se me ocurrio haberlo lo hice funcionó pero no quiero así quisiera de otra formas
un procedimiento almacenado para llenar dos tablas maestroDetalle.

es es el codigo:
Código SQL:
Ver original
  1. SE [CostosyAnexos]
  2. GO
  3. /****** Object:  StoredProcedure [dbo].[InsertarMaestro]    Script Date: 04/14/2012 09:50:22 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. -- =============================================
  9. -- Author:      <Author,,Name>
  10. -- Create date: <Create Date,,>
  11. -- Description: <Description,,>
  12. -- =============================================
  13. ALTER PROCEDURE [dbo].[InsertarMaestro]
  14.     -- Add the parameters for the stored procedure here
  15.     @idParteMa INT,
  16.     @Fechama DATE,
  17.     @PrefijoMa nvarchar(30),
  18.     @Turno CHAR(10),
  19.     @IHorometroMa DECIMAL(9,2),
  20.     @FHorimentroMa DECIMAL(9,2),
  21.     @IHornadaMa TIME(0),
  22.     @FJornadaNa TIME (0),
  23.     @idParteDe INT,
  24.     @Serviciode INT,
  25.     @Interferencias NCHAR(5),
  26.     @HInicio TIME(7),
  27.     @HFin TIME(7),
  28.     @Capataz INT
  29.    
  30. AS
  31. BEGIN
  32.     -- SET NOCOUNT ON added to prevent extra result sets from
  33.     -- interfering with SELECT statements.
  34.     SET NOCOUNT ON;
  35.  
  36.     -- Insert statements for procedure here
  37.     INSERT MaestroMaquinasHoras(IdParte,Fecha,Prefijo,Turno,IHorimetro,FHorimetro,IHJornada,FHJornada)
  38.     VALUES(@idParteMa,@Fechama,@PrefijoMa,@Turno,@IHorometroMa,@FHorimentroMa,@IHornadaMa,@FJornadaNa)
  39.     INSERT DetalleMaquinasHora (IdParte,Servicio,Interferencias,HInicio,HFin,Capataz)
  40.     --values(@idpartede,@Serviciode,@Interferencias,@HInicio,@HFin,@Capataz)
  41.     VALUES (@idpartede,@Serviciode,@Interferencias,@HInicio,@HFin,@Capataz)
  42.     SET @idParteDe = @idParteMa
  43. END

Estoy migrando de access y en access me funciona perfecto.
el campo IdParteMa esta relacionado con el campo IdparteDe, osea idPartede es un FK de IdParteMa este último es Pk que quisiera que ya no tenga que digitar nuevamente el campo IdParteDe que se copie el codigo que esta en IdParteMa como les digo y sin querer ser redundante en access 2010 funciona cosa que oculte luego de provar la columna porque se copia.
lo que quiero hacer es casi como llenar una factura idParteme seria el numero de la factura y IdparteDe seria el campo con la que voy a identificar los productos de esea facturas.

por favor si estoy planteando mal me disculpa y me ayudan. ya que vengo parado una semana con eso y no cosigo arreglarlo.

son muy amables

muchas gracias


Roberto Melgar
  #2 (permalink)  
Antiguo 16/04/2012, 08:08
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: como plantear Procedimiento Almacenado

prueba con un trigger :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 16/04/2012, 10:22
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: como plantear Procedimiento Almacenado

Si el campo es un autocontador (identity), puedes tomar el resultado de tu id con @@IDENTITY y SCOPE_IDENTITY() y asi insertar tu detalle.
__________________
MCTS Isaias Islas

Etiquetas: fecha, procedimiento, select, tabla, almacenar, campos
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 03:16.