MyBatis 中调用存储过程的方式
来源:互联网 发布:查看端口8080的命令 编辑:程序博客网 时间:2024/05/22 00:44
mode=IN -- 表示传入值;mode=OUT -- 表示输出值(返回结果)。
<select id="pCREATEZKZHSEQ" statementType="CALLABLE">
{call P_CREATE_ZKZHSEQ(#{kslbdm,mode=IN,jdbcType=VARCHAR},#{zcq,mode=IN,jdbcType=VARCHAR},#{result,mode=OUT,jdbcType=VARCHAR})}</select>
CREATE OR REPLACE PROCEDURE NEWBASE.P_CREATE_ZKZHSEQ
(P_KSLBDM IN VARCHAR2,P_ZCQ IN VARCHAR2,P_RES OUT VARCHAR2)
IS
/*
参数说明:
*/
L_KSLBDM VARCHAR2(5);
L_ZCQ VARCHAR2(3);
L_QXDM VARCHAR2(2);
L_SEQ_NM VARCHAR2(1000);
L_SEQ_NM2 VARCHAR2(1000);
L_SQL VARCHAR2(1000);
L_CNT NUMBER;
L_serial NUMBER;
L_add VARCHAR2(5);
L_RET VARCHAR2(1000);
L_KSLBDM_EXISTFLG boolean := false;
L_ZCQ_EXISTFLG boolean := false;
L_REC_EXIST boolean := false;
type rc is ref cursor;
CUR_QX rc;
BEGIN
P_RES := 'OK';
IF P_KSLBDM IS NOT NULL THEN
L_KSLBDM := TRIM(P_KSLBDM);
L_KSLBDM_EXISTFLG := true;
END IF;
IF P_ZCQ IS NOT NULL THEN
L_ZCQ := TRIM(P_ZCQ);
L_ZCQ_EXISTFLG := true;
END IF;
L_CNT := 0;
IF L_KSLBDM_EXISTFLG =true AND LENGTH(L_KSLBDM) <> 2 THEN
-- L_RET := 'NG'||'[22001]考试类别错误';
-- GOTO RET;
P_RES := 'NG';
RETURN;
END IF;
IF L_ZCQ_EXISTFLG =true AND LENGTH(L_ZCQ) <> 3 THEN
-- L_RET := 'NG'||'[22001]注册期错误';
-- GOTO RET;
P_RES := 'NG';
RETURN;
END IF;
IF L_KSLBDM_EXISTFLG = false THEN
L_KSLBDM := '01';
END IF;
IF L_ZCQ_EXISTFLG = false THEN
SELECT PARAM_STRING INTO L_ZCQ FROM SYS_PARAM WHERE PARAM_TYPE ='zk' AND PARAM_KSLBDM=L_KSLBDM AND PARAM_NAME='zcq';
END IF;
OPEN CUR_QX FOR
SELECT SC.DM
FROM SYS_CODE SC
WHERE SC.DMLB = 'quxian'
AND SC.KSLBDM = L_KSLBDM;
BEGIN
LOOP
L_CNT := 0;
FETCH CUR_QX INTO L_QXDM;
EXIT WHEN CUR_QX%NOTFOUND;
-- 记录存在
L_REC_EXIST := true;
--编辑序列
L_SEQ_NM := 'ZC_SEQUENCE_' || L_KSLBDM || '_' || L_QXDM || '_' || L_ZCQ;
L_SEQ_NM2 := 'WZK.' || L_SEQ_NM;
-- 判断WZK下序列是否已存在,如果不存在,创建
SELECT COUNT(0) into L_CNT FROM all_sequences where sequence_owner='WZK' and sequence_name=L_SEQ_NM;
BEGIN
IF L_CNT = 0 THEN
--如果不存在,抛例外
execute immediate
'create sequence ' || L_SEQ_NM2 || chr(10) ||
'minvalue 1' || chr(10) ||
'maxvalue 99999' || chr(10) ||
'start with 1' || chr(10) ||
'increment by 1' || chr(10) ||
'nocache';
END IF;
EXCEPTION
WHEN OTHERS THEN
P_RES := 'NG';
END;
END LOOP;
CLOSE CUR_QX;
END;
RETURN;
END;
/
- MyBatis 中调用存储过程的方式
- mybatis中存储过程的调用
- MyBatis 中调用存储过程
- mybatis与ibatis调用存储过程的方式
- Mybatis中调用返回结果集的存储过程
- 在 MyBatis 中调用Oracle存储过程
- MyBatis中调用存储过程和函数
- MyBatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- Mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- MyBatis调用存储过程
- 压力测试工具
- 杭电OJ2063 (基础二分图匹配)(月老降临)
- 单点登录实现方法
- Android JSON解析(JSONObject和JSONArray)
- 工厂模式--c++实现
- MyBatis 中调用存储过程的方式
- Java二维码工具类(使用zxing实现,可支持logo)
- QAndroidJniObject类 部分函数使用方式
- java提高篇(十六)-----异常(一)
- 机器学习之决策树1
- HashMap的实现原理
- jsp实现ajax的一个例子
- ccf 无线网络
- 使用UIImagePickerController时3DTouch引起的Crash问题的解决