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;
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;
相关文章推荐
- 使用JDBC连接Oracle数据库和使用连接池连接Oracle数据库的代码解析
- Oracle数据库安装图解和基本命令行的使用
- 使用PLSQL Developer从oracle数据库 导入导出数据
- 使用spring框架的JdbcTemplate实现对Oracle数据库的简单操作实例
- 排忧解难之Oracle数据库使用问题记录
- 使用Java连接池连接Oracle数据库
- 关于Java开发中使用Oracle数据库的一点注意事项
- oracle数据库中字段别名使用查询多表
- 23.Oracle数据库SQL开发之 SQLPlus使用——查看表结构
- 36.Oracle数据库SQL开发之 使用简单函数——使用单行函数正则表达式函数
- ASP.NET使用ORACLE数据库,游标超过最大数错误处理。
- 使用OTL对oracle数据库进行增加,删除,编辑和查询操作。
- 使用loadrunner11配置参数时,从oracle数据库中获取数据
- Oracle数据库 SQL Plus 命令使用指南
- oracle数据库使用distinct多个字段
- oracle数据库日常使用总结
- 关于使用框架操作Oracle数据库切换MySQL数据库时,nextval的问题!
- 使用vb连接oracle数据库,执行多个命令
- 使用unixodbc连接 ORACLE数据库的配置方法
- ORACLE数据库使用SYS用户登录出现:ORA-28009:connection as SYS should be as SYSDBA or SYSOPER报错处理办法