On May 12, 5:50=A0pm, "Terry Dykstra" <tddyks...@[EMAIL PROTECTED]
> wrote:
> "Garrett Fitzgerald" <SarekOfVul...@[EMAIL PROTECTED]
> wrote in message
> >I have a medical records system where parts live in Oracle and parts
> > live in SQL Server. I'm trying to inactivate a lot of patients who
> > haven't been seen since the conversion by updating them on the SQL
> > Server side and then updating the Oracle side to match. I'd like to be
> > able to use the following query:
>
> > UPDATE server..user.table
> > =A0 =A0SET OraField1 =3D 'I'
> > =A0 =A0WHERE OraField1 =3D 'A'
> > =A0 =A0 =A0 =A0 AND OraField2 IN (
> > =A0 =A0 =A0 =A0 =A0 =A0SELECT SQLfield2
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0FROM SQLTable
> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0WHERE SQLField1 =3D 1
> > =A0 =A0 =A0 =A0 =A0 =A0)
>
> > However, when I do this, I get an error saying that the field "was
> > re****ted to have a DBTYPE of 130 at compile time and 5 at run time".
> > ... OpenQuery doesn't seem like it will do
> > what I want, and I don't want to accidentally inactivate everyone in
> > the database...
>
> OpenQuery is the only way you'll get around that dbtype error. =A0I've
fou=
nd
> OpenQuery to work very well.
Ok, how do I do that? Would this be the correct syntax?
UPDATE OpenQuery(Server, 'select pid, orafield1, orafield2 from
oratable')
SET OraField1 =3D 'I'
WHERE OraField1 =3D 'A'
AND OraField2 IN (
SELECT SQLfield2
FROM SQLTable
WHERE SQLField1 =3D 1
)


|