oracle – 函数返回布尔失败“表达式是错误类型”
发布时间:2020-12-12 13:47:36 所属栏目:百科 来源:网络整理
导读:我正在使用oracle 11g,我只是不能站在我的问题. 我已经做了更多困难的事情,但是我在过去5小时的这个简单的事情中失败了: 这是功能体 FUNCTION legal_user( level_existance number,types_with_impel number)RETURN BOOLEAN IS v_ret_val BOOLEAN; BEGIN v_r
我正在使用oracle 11g,我只是不能站在我的问题.
我已经做了更多困难的事情,但是我在过去5小时的这个简单的事情中失败了: 这是功能体 FUNCTION legal_user( level_existance number,types_with_impel number) RETURN BOOLEAN IS v_ret_val BOOLEAN; BEGIN v_ret_val := FALSE; IF (level_existance*types_with_impel>0) then v_ret_val := TRUE; DBMS_OUTPUT.PUT_LINE('true'); else DBMS_OUTPUT.PUT_LINE('false'); END IF; return v_ret_val; END legal_user; 这是规范: FUNCTION legal_user( level_existance number,types_with_impel number) RETURN BOOLEAN; 这与逻辑和等同于 A*B>0?true:false; 我得到的错误信息是 ORA-06552:PL / SQL:忽略语句 这是我如何在我的IDE中运行它 SELECT compt_tree_profile_q.legal_user(1,1) FROM dual纯SQL不能识别布尔类型,尽管PL / SQL.所以你的查询不知道这个函数返回的数据类型. 该功能有效,所以可以在另一个pl / sql块中使用 declare myvar boolean; begin myvar := compt_tree_profile_q.legal_user(1,1); end; 但是您不能在纯select语句中使用此函数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |