home
Google



Run a query on a remote server (e.g. Oracle)
Author Nigel Rivett
This is for any linked server

create proc sp_ExecLinkedServer
@svr varchar(200) ,
@s varchar(7000)
as
/*
insert #mytbl
exec sp_ExecLinkedServer 'OracleServer', 'select * from mytable where fld = ''qwer'''
*/
declare @sql varchar(8000)
select @sql = 'select * from openquery(' + @svr + ',''' + replace(@s,'''','''''') + ''')'
exec (@sql)
go

This is for a specific server e.g. Oracle

create proc sp_ExecOracle
@s varchar(7000)
as
/*
insert #mytbl
exec sp_ExecOracle 'select * from mytable where fld = ''qwer'''
*/
declare @sql varchar(8000)
select @sql = 'select * from openquery(OracleServer,''' + replace(@s,'''','''''') + ''')'
exec (@sql)
go


home