17/02/2010, 13:43
|
| | Fecha de Ingreso: marzo-2008 Ubicación: Chile
Mensajes: 12
Antigüedad: 16 años, 9 meses Puntos: 0 | |
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. |