SQL SERVER链接服务器执行带参存储过程
2015-01-29 14:44
351 查看
SQL SERVER通过链接服务器,链接到ORACLE数据库,下面我要在SQL SERVER数据库上写一个存储过程,该存储过程需要用通过链接服务去取ORACLE数据库里的数据,该存储过程是含参数的存储过程。在SQL SERVER 数据库里创建一个存储过程来取ORACLE数据库里的一个表里的数据如下:
1,在SQL SERVER数据库上创建存储过程
USE [ProdDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[Test_Getdata_From_Oracle]
-- Add the parameters for the stored procedure here
@P_AS_OF_birthday datetime
AS
BEGIN
declare @E_SQL varchar(2000);
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
set @E_SQL = 'insert into test ' +
'select * from openquery(ORACLE11G, ''select * from test.test where birthday = '''''
+ CONVERT(varchar, @P_AS_OF_birthday, 111) + ''''' '') ';
print @E_SQL;
execute(@E_SQL);
END
GO
2,执行存储过程
exec Test_Getdata_From_Oracle '1979-01-01'
Note:具体的如何建立ORACLE链接服务器,请参考博文:/article/9493390.html
1,在SQL SERVER数据库上创建存储过程
USE [ProdDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[Test_Getdata_From_Oracle]
-- Add the parameters for the stored procedure here
@P_AS_OF_birthday datetime
AS
BEGIN
declare @E_SQL varchar(2000);
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
set @E_SQL = 'insert into test ' +
'select * from openquery(ORACLE11G, ''select * from test.test where birthday = '''''
+ CONVERT(varchar, @P_AS_OF_birthday, 111) + ''''' '') ';
print @E_SQL;
execute(@E_SQL);
END
GO
2,执行存储过程
exec Test_Getdata_From_Oracle '1979-01-01'
Note:具体的如何建立ORACLE链接服务器,请参考博文:/article/9493390.html
相关文章推荐
- 在SQL SERVER中执行链接服务器上的带有参数的存储过程
- SQL Server创建链接服务器的存储过程示例分享
- SQL SERVER 通过链接服务器访问ORACLE 包中的存储过程 带参数
- 如何执行远程链接服务器的存储过程,并插入到本地表
- 使用链接服务器执行远程数据库上的存储过程
- 使用链接服务器执行远程数据库上的存储过程_SQL技巧
- SQL Server创建链接服务器的存储过程示例分享
- SQL Server创建链接服务器的一些存储过程和例子
- 使用链接服务器执行远程数据库上的存储过程
- 链接服务器遇到某些存储过程不能执行的问题
- SQLServer2012通过链接服务器执行SQLServer2000的存储过程的问题
- SQL使用链接服务器执行远程数据库上的存储过程
- 使用链接服务器执行远程数据库上的存储过程
- sql server 存储过程中执行带输出参数的动态 sql
- 如何在SQL Server存储过程中执行DTS包
- 调用存储过程执行 sql server 2005 中的作业
- SQL Server的存储过程复制执行
- 在SQL Server启动时自动执行存储过程。第1/2页
- 如何在SQL Server存储过程中执行DTS包
- 在sql server 2005的存储过程中使用cursor来取出exec()执行的结果表