您的位置:首页 > 数据库 > Oracle

SQL SERVER 通过链接服务器访问ORACLE 包中的存储过程 带参数

2012-05-09 18:05 435 查看
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[usp_SYSFORM100_GetApproverList]
@STRFORMKIND NVARCHAR(30),
@INTFORMNO INT
AS
--
--DECLARE @STRFORMKIND NVARCHAR(30)
--DECLARE @INTFORMNO INT
--SET @STRFORMKIND='SYS.FORM.100'
--SET @INTFORMNO=96

DECLARE @CHANGE_ID VARCHAR(50)
DECLARE @SESSION_ID VARCHAR(50)
DECLARE @ORACLE_SQL VARCHAR(500)

SET @SESSION_ID=NEWID()

SELECT @CHANGE_ID = CHANGE_ID FROM SYSFORM100 WHERE FORM_NO = @INTFORMNO

--生成审批数据
EXEC('BEGIN BPM_DCS_PKG.GET_APPROVE_LIST(?,?);END;',@CHANGE_ID,@SESSION_ID) AT ORACLE_ERP

--获取审批数据
SET @ORACLE_SQL='SELECT APPROVER_ID, SEQUENCE_NO, APPROVER_ROLE FROM BPM_DCS_APPROVE_LIST WHERE CHANGE_ID=? AND SESSION_ID=? ORDER BY SEQUENCE_NO'
EXEC(@ORACLE_SQL,@CHANGE_ID,@SESSION_ID) AT ORACLE_ERP

--删除ERP中生成的数据
EXEC('DELETE BPM_DCS_APPROVE_LIST WHERE CHANGE_ID =?',@CHANGE_ID) AT ORACLE_ERP
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐