Ver Mensaje Individual
  #28 (permalink)  
Antiguo 17/02/2010, 13:43
Wladeck
 
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 12
Antigüedad: 16 años, 1 mes
Puntos: 0
Exclamación Respuesta: Cómo hacer un Insert a un LiskServer por OpenQuery?

Hola a todos,

Necesito hacer un UPDATE pero con un campo variable algo mas o menos asi.
el servidor ya esta vinculado con conexion ya probada.. y tengo algo mas o menos asi.

Declare @ID_EXP numeric (18)
Declare @PLAZA varchar(50)
declare @PLACA varchar(10)
DECLARE @NUM_PLAZA_SGPT varchar(255)
DECLARE @NUM_MIC varchar(50)

DECLARE @sqlQuery VARCHAR(8000)
DECLARE @finalQuery VARCHAR(8000)

SET @ID_EXP = (Select codigo_activo From Inserted)
SET @PLAZA = (select REPLACE(plaza_activo,'-','') FROM inserted)
SET @PLACA = (select p_camion_activo FROM inserted)
SET @MIC = (select mic_activo FROM inserted)

SET @sqlQuery = 'SELECT ID_EXPEDIENTE_PUERTO FROM SGPT_PRODUCCION.SGPT_EXPEDIENTES_PUERTO WHERE NUM_MIC = ' +''''''''+ @MIC + +''''''''

SET @finalQuery = 'SELECT * FROM OPENQUERY(SGPT_TESTING,' + '''' + @sqlQuery + '''' + ')'

SELECT @finalQuery
EXEC(@finalQuery)


SELECT @QUERY_NUM_SGPT = 'SELECT * FROM OPENQUERY(SGPT_TESTING, ''SELECT ID_EXPEDIENTE_PUERTO FROM SGPT_PRODUCCION.SGPT_EXPEDIENTES_PUERTO WHERE NUM_MIC = ''''' + @MIC + ''''''')'
EXEC (@QUERY_NUM_SGPT)

BEGIN

SET NOCOUNT ON;

INSERT INTO tabla_sga
(id_expediente_sga, serie_plaza_sga, placa_tracto_sga, mic_sga, num_exp_sgpt)
VALUES (@ID_EXP, @PLAZA, @PLACA, @MIC, @QUERY_NUM_SGPT)


UPDATE OPENQUERY (SGPT_TESTING, 'SELECT
SET ID_EXPED_PUERTO = @NUM_EXP_SGPT
WHERE (NUM_PLAZA = @PLAZA))

END

El cuento es que si lo hago con valores 'Algo' me lo reconoce... el problema parecen ser las variables @algo

Cualquier ayuda se agradecerá!...

Saludos.