Conexión con otra base de datos

Estoy tratando de comparar dos campos de tablas diferentes y de bases de datos diferentes. El script es:
if exists(select CUSTNMBR
from PRUEBA..PR100
where
CUSTNMBR = OSL..RM00101.CUSTNMBR) then
insert PRUEBA..PR100 (CUSTNMBR, CUSTOMERNAME, LIMITECREDITO)
SELECT CUSTNMBR, CUSTNAME, CRLMTAMT
FROM RM00101
where CUSTNMBR = OSL..RM00101.CUSTNMBR
end if
Este script es para meterlo dentro de un trigger. Para poner un valor del campo CRLMTAMT de la tabla RM00101 al campo LIMITECREDITO de la tabla PR100. Cada tabla esta en bases de datos diferentes: RM00101 es de OSL y PR100 es de PRUEBA. Cuando comparo el CUSTNMBR de las tablas sale un error que dice:
"The column prefix 'OSL.. RM00101' does not match with a table name or alias name used in the query."
Podrian ayudarme a comparar estos campos, porfavor. Realmente es urgente solucionar este problema.

2 respuestas

Respuesta
1
Yo pienso que lo que quieres hacer es algo como lo siguiente:
if exists(select CUSTNMBR
from PRUEBA..PR100
where CUSTNMBR in (select CUSTNMBR
From OSL.. RM00101.CUSTNMBR)
then
insert PRUEBA.. PR100 (CUSTNMBR, CUSTOMERNAME, LIMITECREDITO)
SELECT CUSTNMBR, CUSTNAME, CRLMTAMT
FROM RM00101
where CUSTNMBR = OSL..RM00101.CUSTNMBR
end if
Nunca le has indicado que traiga algo de información de la otra tabla, el indicarle que sea igual a un valor de otra tabla en la misma base de datos si funciona pero si se lo indicas que lo vea de otra base de datos tienes que mandar seleccionar los datos que quieres comparar.
Respuesta
Recuerda que si se trata de otro servidor, debes vincularlo para que te funcione.
En muchos sitios se hace referencia a la posibilidad de acceder a los datos de otro servidor, pero después de no se comenta que para hacerlo, antes has debido de vincularlo. Esto se hace en seguridad-->servidores vinculados en el administrador corporativo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas