Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/03/2007, 15:08
mary*
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 18 años, 5 meses
Puntos: 0
Pregunta Re: Un SP utilizando IF???...complicado!!!

Hola marcos_aliagac!!!...creo que si esta un poco enredado...asi es que trataré de explicar el primer paso...

-Tengo 1 tabla llamada E1 que se encuentra en el servidor local E1, con los siguientes campos:
ID(id-numerico), CODE, MEDIDA,LINEA, EQUIPMENT, SIDEWALL, WAREHOUSE, REJECT, WEIGHT, IDETIQUETA y FECHA(getdate())

-Tengo 1 tabla llamda MSAP que se encuentra en el servidor remoto S3, con los siguientes campos:
CCOMER, CODE, MEDIDA, LINEA y COMUN

La tabla que debo alimentar es la E1:

De manera externa voy a obtener los siguientes datos:

CODE, EQUIPMENT, SIDEWALL, WAREHOUSE, REJECT, WEIGHT y IDETIQUETA, los cuales debo insertar a la tabla E1

Segun yo seria esta parte:

Código:
CREATE PROCEDURE sp_iTablaE1

--Primero declaramos las variables de entrada que seran las que reciban los parametros desde el exterior

@CODE CHAR(10),
@EQUIPMENT CHAR(10),
@SIDEWALL CHAR(10),
@WAREHOUSE INT(4),
@REJECT INT(4),
@WEIGHT FLOAT(8),
@IDETIQUETA CHAR(10)
AS

-- Insertamos los datos

insert into E1(CODE, EQUIPMENT, SIDEWALL, WAREHOUSE, REJECT, WEIGHT, IDETIQUETA)
values(@CODE, @EQUIPMENT, @SIDEWALL, @WAREHOUSE, @REJECT, @WEIGHT, @IDETIQUETA)
Pero los datos de MEDIDA y LINEA los debo de obtener de la tabla MSAP, y hay 3 casos: el primero seria el siguiente:

segun el dato de CODE que se inserte en E1 debo relacionarlo con el CODE que hay en MSAP...

Seria algo asi:
Código:
SELECT dbo.E1.CODE, dbo.MSAP_1.COMUN, dbo.MSAP.MEDIDA, dbo.MSAP.LINEA
FROM dbo.E1 INNER JOIN
         dbo.MSAP_1 ON dbo.E1.CODE = dbo.MSAP_1.CODE 
WHERE (dbo.E1.CODE=@CODE)
si lo encuentra y si el campo de COMUN= ´X´, deberá insertar a la tabla E1 el valor de MEDIDA y LINEA que le corresponda, pero si COMUN es diferente de 'X' seguria la otra condicion...ojala ya se entienda mejor!!!...sigo en espera!!!