Update to Openrowset SQL SERVER 2008

JGutierrezC

I'm trying to do an UPDATE action to a remote table from a local query. Obviously i know it should be with an OPENROWSET but i don't know how to do it.

I know you can Insert to an OPENROWSET doing something like this:

 set @cadsql = convert(varchar(max),
  'insert into openrowset(''SQLOLEDB'','''+@cadcon+''','+@bd+'.ctoxtractor.lm_vehiculos) ' + char(13) + 
  '           (cuenta,corporativo,economico,ctatipotractor,sctatipotractor,ultcambio,ciausu,usuario,estatusoper) ' + char(13) + 
  'select 423,fv.vehic,fv.numeco,9802,0,getdate(),0,''ADMIN'',fv.estatusoper ' + char(13) + 
  'from ficvehic fv ' + char(13) + 
  'order by fv.vehic ')

 exec (@cadsql) 

Or that i can do a select like this:

SET @cadsql = 'SELECT * FROM OPENROWSET(''sqloledb'',''driver=sql server;server='+@server+';database='+ @database +';uid='+@user+';pwd='+@password+''',' +
'''SELECT Column1, column2,...  
   FROM table'')'

INSERT INTO another_table
exec (@cadsql)

But i havn't come up with a solution for updating. Is that possible?

Thanks in advance!

Andriy M

If I understand your intention correctly, this should get you going:

UPDATE target
SET
  target.column = query.value,
  ...
FROM OPENROWSET(
  'provider',
  'connection string',
  'SELECT columns FROM yourtable'
) AS target
INNER JOIN (
  your local query
) AS query
ON
  target.column = query.column
  AND ...
;

Basically, this is same as you would go about updating a local table from a query, just using OPENROWSET instead of a table name in the FROM clause and specifying its alias in the UPDATE clause.

Of course, it is also important that the remote query should be updatable (e.g. it should return results from a single table), same as with its being insertable when you are using OPENROWSET to insert.

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Openrowset SQL SERVER2008に更新します

分類Dev

SQL Server 2008 Trigger

分類Dev

SQL Server 2008 SELECT

分類Dev

SQL Server 2008 - With 句

分類Dev

Pivot table in SQL Server 2008

分類Dev

Partitioned table - SQL Server 2008

分類Dev

IBM WORKLIGHT SQL Server 2008

分類Dev

How can I write two update queries in single stored procedure in SQL Server 2008

分類Dev

SQL Server: IN() サブクエリ内での OPENROWSET 結果の使用

分類Dev

Laravel connect to a SQL Server 2008 named instance

分類Dev

Paging with Entity Framework 7 and SQL Server 2008

分類Dev

SQL Server 2008BETWEEN関数

分類Dev

Creating clients of SQL Server 2008 in same network

分類Dev

Move database from SQL Server 2012 to 2008

分類Dev

Synchronize two SQL Server 2008 databases

分類Dev

SQL Server 2008 Pivot, no Aggregation, complex data

分類Dev

SQL Server2008でのORDERBY

分類Dev

How to convert a string to integer in SQL Server 2008?

分類Dev

How to insert Khmer text into SQL Server 2008

分類Dev

C# connectivity with SQL Server 2008

分類Dev

Generate Alpha numeric series in SQL Server 2008

分類Dev

SQL Server 2008patindex再帰

分類Dev

SQL Server 2008のplatform()とは

分類Dev

UPDATE SQL SERVER

分類Dev

SQL SERVER 2012でOPENROWSETを使用してNULL値を処理する方法は?

分類Dev

SQL Server 2008Updateクエリに非常に時間がかかっています

分類Dev

update time only in sql server

分類Dev

Check if table exists and if it doesn't exist, create it in SQL Server 2008

分類Dev

How to retrieve dropped stored procedure, function, table in SQL Server 2008

Related 関連記事

ホットタグ

アーカイブ