暂无图片
暂无图片
5
暂无图片
暂无图片
暂无图片

Halo 14.5 PatchSet

原创 Halo Tech 2023-10-30
229
-- PL/SQL支持执行动态SQL
-- PL/SQL支持错误码ZERO_DIVIDE、VALUE_ERROR
-- 支持raise_application_error
-- PL/SQL支持自定义exception
-- PL/SQL支持依据PACKAGE变量类型创建新的变量
-- PL/SQL支持PACKAGE常量
-- PL/SQL支持隐式游标
-- PL/SQL支持自定义复合类型变量直接赋值
-- 支持存储过程无参数不带括号执行
-- 完善PACKAGE权限管理
-- 修复使用绑定变量时空串和NULL的等价转换问题
halo0root=# BEGIN
halo0root$#    FOR rec IN (SELECT *
halo0root$#                  FROM dual)
halo0root$#    LOOP
halo0root$#       DBMS_OUTPUT.put_line (rec.dummy);
halo0root$#    END LOOP;
halo0root$# END;
halo0root$# /
X
DO

halo0root=# declare
halo0root$# pnum number;
halo0root$# begin
halo0root$# pnum:='abc';
halo0root$# exception
halo0root$# when VALUE_ERROR then dbms_output.put_line('算术或转化错误');
halo0root$# when others then dbms_output.put_line('其他例外');
halo0root$# end;
halo0root$# /
算术或转化错误
DO

halo0root=# DECLARE
halo0root$#    v_student_id    int := -20;
halo0root$#    v_total_courses EXCEPTION;
halo0root$#    e_invalid_id    EXCEPTION;
halo0root$# BEGIN
halo0root$# if v_student_id < 0 THEN
halo0root$# raise v_total_courses; 
halo0root$# end if;
halo0root$# exception  
halo0root$# when e_invalid_id then 
halo0root$# dbms_output.put_line('e_invalid_id');
halo0root$# when v_total_courses then 
halo0root$# dbms_output.put_line('v_total_courses');
halo0root$# end;
halo0root$# /
v_total_courses
Do
halo0root=# DECLARE
 v_num1 integer := 201;
 v_num2 integer := 0;
 v_result number;
BEGIN
   v_result := v_num1 / v_num2;
   DBMS_OUTPUT.PUT_LINE ('v_result: '||v_result);
EXCEPTION
   WHEN ZERO_DIVIDE THEN
       DBMS_OUTPUT.PUT_LINE ('A number cannot be divided by zero.');
END;
/
A number cannot be divided by zero.
DO




「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论