CREATE OR REPLACE FUNCTION FUN_LYZZ_MESSAGE
(
RECEIVERID_ IN TAB_MESSAGE.RECEIVERID%TYPE,
TOLOCATION_ IN TAB_MESSAGE.TOLOCATION%TYPE
) RETURN NUMBER--返回-1为有误,1为成功
IS
ID_ TAB_MESSAGE.ID%TYPE;
BEGIN
SELECT ID INTO ID_ FROM TAB_MESSAGE WHERE RECEIVERID=RECEIVERID_ AND TOLOCATION=TOLOCATION_;
IF ID_ IS NOT NULL THEN
UPDATE TAB_MESSAGE SET STATUS=1 WHERE ID=ID_;
END IF;
RETURN(1);
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RETURN(-1);
END;
java中调用代码如下:
imp.prepareCall("{call ?:=sybj.FUN_LYZZ_MESSAGE(?, ?)}", "out@Integer@#in@varchar@"+receiverId+"#in@varchar@"+tolocation);
其中,传入的receiverId是“830”,tolocation是“inform.do?method=getInfo&&flag=mod&&id=1080”
用
select id from TAB_MESSAGE WHERE RECEIVERID=830 AND TOLOCATION='inform.do?method=getInfo&&flag=mod&&id=1080'
执行速度很快,就一条记录
(
RECEIVERID_ IN TAB_MESSAGE.RECEIVERID%TYPE,
TOLOCATION_ IN TAB_MESSAGE.TOLOCATION%TYPE
) RETURN NUMBER--返回-1为有误,1为成功
IS
ID_ TAB_MESSAGE.ID%TYPE;
BEGIN
SELECT ID INTO ID_ FROM TAB_MESSAGE WHERE RECEIVERID=RECEIVERID_ AND TOLOCATION=TOLOCATION_;
IF ID_ IS NOT NULL THEN
UPDATE TAB_MESSAGE SET STATUS=1 WHERE ID=ID_;
END IF;
RETURN(1);
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RETURN(-1);
END;
java中调用代码如下:
imp.prepareCall("{call ?:=sybj.FUN_LYZZ_MESSAGE(?, ?)}", "out@Integer@#in@varchar@"+receiverId+"#in@varchar@"+tolocation);
其中,传入的receiverId是“830”,tolocation是“inform.do?method=getInfo&&flag=mod&&id=1080”
用
select id from TAB_MESSAGE WHERE RECEIVERID=830 AND TOLOCATION='inform.do?method=getInfo&&flag=mod&&id=1080'
执行速度很快,就一条记录
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货