SQL随记
Posted 一个java小生的奋斗史
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL随记相关的知识,希望对你有一定的参考价值。
1.for loop 循环
格式:for index in lower .. upper
loop
end loop;
for i in 1 .. g_descTbl.count loop if ( g_descTbl(i).col_type = 12 ) then utl_file.put( l_output, l_sep || g_descTbl(i).col_name || \' date \'\'ddmmyyyyhh24miss\'\' \'); else utl_file.put( l_output, l_sep || g_descTbl(i).col_name || \' char(\' || to_char(g_descTbl(i).col_max_len*2) ||\' )\' ); end if; l_sep := \',\'||g_nl ; end loop;
2.sql的异常处理:
(1)系统运行出错时自动抛出
(2)使用RAISE关键字抛出任何的异常,格式:RAISE exception_name;
declare is_exception EXCEPTION; bein RAISE is_exception; end;
(3)使用Raise_Application_Error 抛出异常,它能抛出一个异常并给异常赋予一个错误号以及错误信息。格式: Raise_application_error(error_number,message[,true,false])
begin Raise_application_error(-20123,\'can not find error\',true); end;
(4)用户自定义异常
declare ex_exception EXCEPTION; --定义异常 PRAGMA EXCEPTION_INIT(ex_exception , -2292); --给自定义异常进行关联 begin DELETE FROM departments WHERE department_id = v_deptno; IF SQL%NOTFOUND THEN RAISE ex_exception ; --抛出 END IF; EXCEPTION WHEN ex_exception THEN --处理 DBMS_OUTPUT.PUT_LINE(\'违反数据完整性约束!\'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLCODE||\'---\'||SQLERRM); end;
以上是关于SQL随记的主要内容,如果未能解决你的问题,请参考以下文章