我需要将branch_code设置为IN参数,然后从表中选择cms_rungno,cms_finayear并将cms_rungno分配给变量并将其值更新为1.然后,按以下格式返回journ_no。
这是我到目前为止尝试过的代码。我对此并不清楚。
FUNCTION GEN_JOURNO
( branch_code IN varchar2 )
RETURN varchar2 IS
journ_no varchar2;
rungno number;
BEGIN
--LAST_NO + 1
SELECT cms_finayear
FROM corpinfo.tblcommonserial a
where cms_brncode=branch_code and cms_code='JOUN'
SELECT cms_rungno INTO rungno
FROM corpinfo.tblcommonserial a
where cms_brncode:=branch_code and cms_code:='JOUN';
UPDATE corpinfo.tblcommonserial a
set cms_rungno:=rungno+1
where cms_brncode:=branch_code and cms_code:='JOUN'
journ_no:=cms_brncode || SUBSTR(TO_CHAR(cms_finayear),3,2)|| LPAD(TO_CHAR(cms_rungno),6,'0');
RETURN journ_no ;
--EXCEPTION
--WHEN exception_name THEN
-- statements ;
END;
答案 0 :(得分:0)
这对我有用。我之前的代码中有语法错误
FUNCTION GEN_JOURNO
( branch_code IN varchar2 )
RETURN varchar2(5) IS
journ_no varchar2(5);
rungno number;
BEGIN
--LAST_NO + 1
SELECT cms_finayear
FROM corpinfo.tblcommonserial a
where cms_brncode=branch_code and cms_code='JOUN';
SELECT cms_rungno INTO rungno
FROM corpinfo.tblcommonserial a
where cms_brncode=branch_code and cms_code='JOUN';
UPDATE corpinfo.tblcommonserial a
set cms_rungno=rungno+1
where cms_brncode=branch_code and cms_code='JOUN';
journ_no=branch_code || SUBSTR(TO_CHAR(cms_finayear),3,2)|| LPAD(TO_CHAR(cms_rungno),6,'0');
RETURN journ_no ;
--EXCEPTION
--WHEN exception_name THEN
-- statements ;
END;