SELECT count(CURRENCYCODE) INTO code FROM tblcurrency WHERE CURRENCYCODE=p_crycode; IF code<=0 Then BEGIN INSERT INTO TBLCURRENCY(CURRENCYCODE,CURRENCYNAME,CURRENCYNAMECHS,CURRENCYNAMECHT,BASE,CURRENCYUNIT,EXCHGRATE,MYUSERCREATE) VALUES (p_crycode,p_name,p_currencychs,p_currencycht,p_BASE,p_CURRENCYUNIT,p_EXCHGRATE,p_myuser); END; ELSE BEGIN UPDATE tblcurrency SET CURRENCYNAME=p_name ,CURRENCYNAMECHS=p_currencychs ,CURRENCYNAMECHT=p_currencycht ,BASE=p_BASE ,CURRENCYUNIT=p_CURRENCYUNIT ,EXCHGRATE=p_EXCHGRATE ,MYUSERUPDATE=p_myupdate ,DATEUPDATE=SYSDATE; END; END IF ; END add_tblcurency;
然后不就可以判断了吗?
可以吗?
因为我在过程中判断一条语句是否有值
if(rs.next()){
//有记录
}else{
//无记录
}
,但结果出错。
CREATE OR REPLACE PROCEDURE SY.add_tblcurency
( p_crycode tblcurrency.CURRENCYCODE%type
,p_name tblcurrency.CURRENCYNAME%type
,p_currencychs tblcurrency.CURRENCYNAMECHS%type
,p_currencycht tblcurrency.CURRENCYNAMECHT%type
,p_BASE tblcurrency.BASE%type
,p_CURRENCYUNIT tblcurrency.CURRENCYUNIT%type
,p_EXCHGRATE tblcurrency.EXCHGRATE%type
,p_myuser tblcurrency.MYUSERCREATE%type
)
is
BEGIN
DECLARE
code number(2);
SELECT count(CURRENCYCODE) INTO code FROM tblcurrency WHERE CURRENCYCODE=p_crycode;
IF code<=0 Then
BEGIN
INSERT INTO TBLCURRENCY(CURRENCYCODE,CURRENCYNAME,CURRENCYNAMECHS,CURRENCYNAMECHT,BASE,CURRENCYUNIT,EXCHGRATE,MYUSERCREATE)
VALUES (p_crycode,p_name,p_currencychs,p_currencycht,p_BASE,p_CURRENCYUNIT,p_EXCHGRATE,p_myuser);
END;
ELSE
BEGIN
UPDATE tblcurrency SET CURRENCYNAME=p_name
,CURRENCYNAMECHS=p_currencychs
,CURRENCYNAMECHT=p_currencycht
,BASE=p_BASE
,CURRENCYUNIT=p_CURRENCYUNIT
,EXCHGRATE=p_EXCHGRATE
,MYUSERUPDATE=p_myupdate
,DATEUPDATE=SYSDATE;
END;
END IF ;
END add_tblcurency;