PL/SQL警告。。Warning: Procedure created with compilation errors.。。代码如下!
CREATEORREPLACEPROCEDUREcheck_credit(credit_limitNUMBER)ASratingNUMBER:=3;--全局变量--子程序...
CREATEORREPLACEPROCEDURE check_credit (credit_limit NUMBER)AS
rating NUMBER:=3; --全局变量
--子程序
FUNCTION check_rating RETURNBOOLEANIS
rating NUMBER:=1; --本地变量
over_limit BOOLEAN;
BEGIN
IF check_credit.rating <= credit_limit THEN -- 引用全局变量(使用过程名来限定)
over_limit :=FALSE;
ELSE
over_limit :=TRUE;
rating := credit_limit; -- 引用本地量
ENDIF;
RETURN over_limit;
END check_rating;
BEGIN
IF check_rating THEN
DBMS_OUTPUT.PUT_LINE
('信用等级超出限制 ('||TO_CHAR(credit_limit)||'). '
||'等级: '||TO_CHAR(rating));
ELSE
DBMS_OUTPUT.PUT_LINE('信用等级OK. '||'等级: '||TO_CHAR(rating));
ENDIF;
END;
BEGIN
check_credit(1);
END;
=======================================
执行结果:
Warning: Procedure created with compilation errors.
哪里出问题啦? 展开
rating NUMBER:=3; --全局变量
--子程序
FUNCTION check_rating RETURNBOOLEANIS
rating NUMBER:=1; --本地变量
over_limit BOOLEAN;
BEGIN
IF check_credit.rating <= credit_limit THEN -- 引用全局变量(使用过程名来限定)
over_limit :=FALSE;
ELSE
over_limit :=TRUE;
rating := credit_limit; -- 引用本地量
ENDIF;
RETURN over_limit;
END check_rating;
BEGIN
IF check_rating THEN
DBMS_OUTPUT.PUT_LINE
('信用等级超出限制 ('||TO_CHAR(credit_limit)||'). '
||'等级: '||TO_CHAR(rating));
ELSE
DBMS_OUTPUT.PUT_LINE('信用等级OK. '||'等级: '||TO_CHAR(rating));
ENDIF;
END;
BEGIN
check_credit(1);
END;
=======================================
执行结果:
Warning: Procedure created with compilation errors.
哪里出问题啦? 展开
3个回答
展开全部
BEGIN
IF check_rating THEN
DBMS_OUTPUT.PUT_LINE
('信用等级超出限制 ('||TO_CHAR(credit_limit)||'). '
||'等级: '||TO_CHAR(rating));
ELSE
DBMS_OUTPUT.PUT_LINE('信用等级OK. '||'等级: '||TO_CHAR(rating));
ENDIF;
END;
这段删了看看
IF check_rating THEN
DBMS_OUTPUT.PUT_LINE
('信用等级超出限制 ('||TO_CHAR(credit_limit)||'). '
||'等级: '||TO_CHAR(rating));
ELSE
DBMS_OUTPUT.PUT_LINE('信用等级OK. '||'等级: '||TO_CHAR(rating));
ENDIF;
END;
这段删了看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
似乎没啥问题,当然你贴的过程中有些关键字连在一起了,只要分开就可以执行。
执行结果是:
信用等级超出限制 (1). 等级: 3
你最好在
BEGIN
check_credit(1);
END;
前加一个
/
执行结果是:
信用等级超出限制 (1). 等级: 3
你最好在
BEGIN
check_credit(1);
END;
前加一个
/
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CREATE OR REPLACE PROCEDURE check_credit (credit_limit NUMBER)AS
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询