ql server中操作ORACLE是用这程方式的吧: EXEC sp_addlinkedserver 'oracle_link', 'Oracle 7.3', 'MSDAORA', 'ORCLDB' GO delete from openquery(oracle_link,'select * from tt') 但如果我想根据某个字段删除一条记录的时候怎么办呢?比如,我要根据tt表中的字段t删除记录,而t又是动态生成的怎么办,我试过下面这种方式,但是不行: declare @v varchar(100) set @v=33 delete from openquery(oracle_link,'select * from tt where t='+@v) 希望高手能进来帮帮忙,谢谢 C. 使用用于 Oracle 的 Microsoft OLE DB 提供程序 此示例创建一台名为 LONDON Mktg 的链接服务器,该服务器使用用于 Oracle 的 Microsoft OLE DB 提供程序,并且假设此 Oracle 数据库的 SQL*Net 别名为 MyServer。USE master GO -- To use named parameters: EXEC sp_addlinkedserver @server = 'LONDON Mktg', @srvproduct = 'Oracle', @provider = 'MSDAORA', @datasrc = 'MyServer' GO -- OR to use no named parameters: USE master GO EXEC sp_addlinkedserver 'LONDON Mktg', 'Oracle', 'MSDAORA', 'MyServer' GO exec('delete from openquery(oracle_link,''select * from tt where t=''+@v+')')
EXEC sp_addlinkedserver 'oracle_link',
'Oracle 7.3',
'MSDAORA',
'ORCLDB'
GO
delete from openquery(oracle_link,'select * from tt')
但如果我想根据某个字段删除一条记录的时候怎么办呢?比如,我要根据tt表中的字段t删除记录,而t又是动态生成的怎么办,我试过下面这种方式,但是不行:
declare @v varchar(100)
set @v=33
delete from openquery(oracle_link,'select * from tt where t='+@v)
希望高手能进来帮帮忙,谢谢
C. 使用用于 Oracle 的 Microsoft OLE DB 提供程序
此示例创建一台名为 LONDON Mktg 的链接服务器,该服务器使用用于 Oracle 的 Microsoft OLE DB 提供程序,并且假设此 Oracle 数据库的 SQL*Net 别名为 MyServer。USE master
GO
-- To use named parameters:
EXEC sp_addlinkedserver
@server = 'LONDON Mktg',
@srvproduct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = 'MyServer'
GO
-- OR to use no named parameters:
USE master
GO
EXEC sp_addlinkedserver
'LONDON Mktg',
'Oracle',
'MSDAORA',
'MyServer'
GO
exec('delete from openquery(oracle_link,''select * from tt where t=''+@v+')')
存儲過程里面動態取其A開頭的表,union all 起來
最后返回數據集