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

Oracle数据库database link的使用

2013-11-19 10:17 155 查看
oracle数据库database link的使用:
 
1、在mpm用户下建立 database link
-- Create database link

create public database link JIRA

  connect to JIRA

  using '(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.216.38.233)(PORT = 1522))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = RATION)))';
 
2、带database link 的存储过程
CREATE OR REPLACE PACKAGE JIRA_ISSUELINK IS
 PROCEDURE JIRA_ISSUE_RECORDS (L_MPM_PLAN_ID     VARCHAR2,

                               -- ISSUE_RECORDS   VARCHAR2,

                                o_Return_Int    OUT INT,

                                o_Return_String OUT VARCHAR2);
END;

CREATE OR REPLACE PACKAGE BODY JIRA_ISSUELINK IS
  PROCEDURE JIRA_ISSUE_RECORDS (L_MPM_PLAN_ID      VARCHAR2,

                               --ISSUE_RECORDS    VARCHAR2,

                                o_Return_Int     OUT INT,

                                o_Return_String  OUT VARCHAR2)

  IS
  L_JIRA_PROJECT_ID        VARCHAR2(20);

  L_JIRA_TITLE             VARCHAR2(2000);

  L_JIRA_ISSULE_TYPE       VARCHAR2(20);

  L_JIRA_CREATER           VARCHAR2(100);

  L_JIRA_PUBLISHER         VARCHAR2(100);

  l_return                 varchar2(2000);

  l_jira_task              varchar2(100);

  BEGIN

/*   o_Return_Int:=APPSYS.CODECOLLECTION.Fail;

   o_Return_String:='FAILE!';*/

  

   SELECT  X.attribute_07,  --对应的JIRA项目的ID号

           X.title,         --对应的JIRA项目的任务标题

           X.attribute_06,  --对应的JIRA项目的任务类型

           X.CREATED_JIRA_USER_NAME,    --对应的JIRA项目的任务创建人

           X.PUBLISH_JIRA_USER_NAME     --对应的JIRA项目的任务分配人

   INTO    L_JIRA_PROJECT_ID,

           L_JIRA_TITLE,

           L_JIRA_ISSULE_TYPE,

           L_JIRA_CREATER,

           L_JIRA_PUBLISHER

    FROM mpm_jira_sync_v   X  WHERE X.id= L_MPM_PLAN_ID;

  

 

/*    --通过写JIRA数据库表来创建JIRA的任务信息-测试

  function   JiraIssue_api_create_v2 (p_project_id    varchar2,

                                        p_project_title varchar2,

                                        p_issue_type    varchar2,

                                        p_publish_id    varchar2,

                                        p_created_by    varchar2) return varchar2*/

    -- database link的使用 调用 jira_issuelink包下的 JiraIssue_api_create_v2存储过程                                

    jira_issuelink.JiraIssue_api_create_v2@JIRA(L_JIRA_PROJECT_ID,L_JIRA_TITLE,L_JIRA_ISSULE_TYPE,L_JIRA_PUBLISHER,L_JIRA_CREATER,l_return,l_jira_task);

 

      DELETE MPM_JIRA_ISSUE_RECORDS WHERE MPM_PLAN_ID=l_MPM_PLAN_ID;

  

         INSERT INTO MPM_JIRA_ISSUE_RECORDS(

         ID,

         MPM_PLAN_ID,

         ISSUE_RECORDS,

         JIRAISSULE_SIGN,

         CREATED_BY,

         CREATION_DATE,

         LAST_UPDATED_BY,

         LAST_UPDATE_DATE,

         LAST_UPDATE_IP,

         VERSION,

         ATTRIBUTE_01,

         ATTRIBUTE_02,

         ATTRIBUTE_03,

         ATTRIBUTE_04,

         ATTRIBUTE_05,

         ATTRIBUTE_06,

         ATTRIBUTE_07,

         ATTRIBUTE_08,

         ATTRIBUTE_09,

         ATTRIBUTE_10        

        ) VALUES (

          SYS_GUID(),

          l_MPM_PLAN_ID,

          decode(l_return,'Y',l_jira_task,l_return),

          decode(l_return,'Y','Y','N'),

          appsys.get_session_info.Get_User_Id,

          SYSDATE,

          appsys.get_session_info.Get_User_Id,

          SYSDATE,

          '127.0.0.1',

          0,

          NULL,

          NULL,

          NULL,

          NULL,

          NULL,

          NULL,

          NULL,

          NULL,

          NULL,

          NULL

        );

  END;
END;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle