17,377
社区成员
发帖
与我相关
我的任务
分享
-- TRY THIS CODE:
CREATE OR REPLACE PROCEDURE TLBB.TLBBSTOREBUYLOG(V_SN IN TL_SERVER_LOG.SN%TYPE,
V_GROUP_ID IN TL_SERVER_LOG.GROUP_ID%TYPE,
V_SERVER_IP IN TL_SERVER_LOG.SERVER_IP%TYPE,
V_SERVER_NAME IN TL_SERVER_LOG.SERVER_NAME%TYPE,
V_WORD IN TL_SERVER_LOG.WORD%TYPE,
V_SERVER IN TL_SERVER_LOG.SERVER%TYPE,
V_SCENE IN TL_SERVER_LOG.SCENE%TYPE,
V_CN_GUID IN TL_SERVER_LOG.CN_GUID%TYPE,
V_BUY_TIME IN VARCHAR2,
V_JEWEL_TOTAL IN TL_SERVER_LOG.JEWEL_TOTAL%TYPE,
V_CN IN TL_SERVER_LOG.CN%TYPE,
V_CHARACTER_PUT IN TL_SERVER_LOG.CHARACTER_PUT%TYPE,
V_IP IN TL_SERVER_LOG.IP%TYPE,
V_MEMO IN TL_SERVER_LOG.MEMO%TYPE,
R_MYRETURN OUT NUMBER) AS
COUT NUMBER(2);
ERRCODE1 EXCEPTION;
V_SUBSTR VARCHAR2(256);
POS NUMBER(5);
I NUMBER(5) := 0;
BEGIN
SELECT COUNT(CN) INTO COUT FROM TL_SERVER_LOG WHERE SN = V_SN;
IF COUT = 0 THEN
V_SUBSTR := V_MEMO;
WHILE I < 3 LOOP
POS := INSTR(V_SUBSTR, ',');
V_SUBSTR := SUBSTR(V_SUBSTR, POS + 1);
DBMS_OUTPUT.PUT_LINE(V_SUBSTR);
I := I + 1;
END LOOP;
POS := INSTR(V_SUBSTR, ',');
V_SUBSTR := SUBSTR(V_SUBSTR, 1, POS - 1);
INSERT INTO TL_SERVER_LOG
(ID,
SN,
GROUP_ID,
SERVER_IP,
SERVER_NAME,
WORD,
SERVER,
SCENE,
CN_GUID,
BUY_TIME,
JEWEL_TOTAL,
CN,
CHARACTER_PUT,
IP,
MEMO,
PUT_DATE,
WEAPONID)
VALUES
(SEQ_TL_SERVER_LOG_ID.NEXTVAL,
V_SN,
V_GROUP_ID,
V_SERVER_IP,
V_SERVER_NAME,
V_WORD,
V_SERVER,
V_SCENE,
V_CN_GUID,
TO_DATE(V_BUY_TIME, 'YYYY-MM-DD HH24:MI:SS'),
V_JEWEL_TOTAL,
V_CN,
V_CHARACTER_PUT,
V_IP,
V_MEMO,
SYSDATE,
V_SUBSTR);
R_MYRETURN := 0;
COMMIT;
ELSE
R_MYRETURN := 2;
END IF;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
R_MYRETURN := 3;
END;
[Quote=引用 2 楼 gaosiyu0607 的回复:]