动态sql语句 异常处理

原创 2012年03月26日 18:45:52
--execute immediate 实现DDL
declare
   v_ddl varchar2(200);
begin
   v_ddl:='create table mytable as select ename,sal from emp';
   execute immediate v_ddl;
   dbms_output.put_line('mytable表已建');
end;


--execute immediate 返回单行记录
--execute immediate 查询语句  into  行数据类型  using 对应占位符变量
  declare
     v_id emp.empno%type;
     v_emp emp%rowtype;
     v_sql varchar2(100);
begin
    v_id:=7788;
    v_sql:='select * from emp where empno=:id';--id为占位符
    execute immediate v_sql into v_emp using v_id;
    dbms_output.put_line(v_emp.ename||'  '||v_emp.sal);
end;


--异常处理
declare
   v_name emp.ename%type;
begin
   select ename into v_name from emp where empno=&emp_no;
   dbms_output.put_line('员工姓名:'||v_name);
   exception
      when no_data_found then
      dbms_output.put_line('无记录返回');
end;

--系统预定义异常处理 

--异常名称				描述
--ACCESS_INTO_NULL			未初始化对象
--CURSOR_ALREADY_OPEN			试图打开已经打开的游标
--ZERO_DIVIDE				除数为零
--NO_DATA_FOUND				无返回记录
--INVALID_NUMBER            		字符串转换为数字失败
--VALUE_ERROR                		转换、截断、大小约束错误
--TOO_MANY_ROWS				执行select into语句返回多行记录
--OTHERS                    		其他异常


--自定义异常处理
exception
when  异常名1  then
异常处理语句段1;
when  异常名2  then
异常处理语句段2;

springmvc+mybatis项目中的统一异常处理器

统一异常处理 1.1     统一异常结果类型(不使用框架配置) Java中进行异常处理: 一类是可预知的异常,程序员在编码时,主动抛出的异常,为了给用户操作提示,提前检查代码中可能存在...
  • u012373815
  • u012373815
  • 2015年10月27日 16:19
  • 4342

Oracle数据库之PL/SQL异常处理

Oracle数据库之PL/SQL异常处理异常指的是在程序运行过程中发生的异常事件,通常是由硬件问题或者程序设计问题所导致的。PL/SQL程序设计过程中,即使是写得最好的程序也可能会遇到错误或未预料到的...
  • zhliro
  • zhliro
  • 2015年06月14日 22:21
  • 1167

Oracle语句块的写法

一个完整的语句块由三部分组成。   第一部分:DECLARE   声明部分,定义变量,数据类型,异常,局部子程序等  第二部分:BEGIN   执行部分,实现块的功能  第三部分:EXCE...
  • xjh2011xjh
  • xjh2011xjh
  • 2014年12月23日 13:39
  • 1707

Oracle 顺序控制,异常处理,动态sql

-----------------顺序控制-------------------- --1. GOTO语句  :用于跳转到特定标记号去执行语句 (使可读性变差) --2. nu...
  • luobing_csdn
  • luobing_csdn
  • 2017年03月27日 11:38
  • 241

oracle动态sql语句处理——47522341的专栏在去dba的路上

动态SQL语句处理:根据要处理的sql语句的作用不同,可以使用三种不同类型的动态sql方法:使用execute immediate语句可以处理包括ddl(create、alter和drop)、DCL(...
  • saijie1983
  • saijie1983
  • 2012年04月24日 07:02
  • 450

oracle对动态sql语句的处理

1、静态SQL语句性能优于动态SQL语句,如果功能确定最好使用静态SQL语句 2、使用execute immediate语句,用于处理除了多行查询之外的任何动态SQL,包括DDL、DCL、DML、以...
  • ceclar123
  • ceclar123
  • 2012年09月13日 17:46
  • 1999

动态SQL语句基本语法

  • 2010年01月31日 02:40
  • 173KB
  • 下载

iBatis.net使用动态sql语句

  • 2015年12月04日 10:42
  • 89KB
  • 下载

动态SQL语句

  • 2012年03月12日 10:32
  • 195KB
  • 下载

嵌入SQL中(DB2)异常处理WHENEVER语句的使用

WHENEVER语句用于异常处理,这里的异常包括:ERROR、EXCEPTION、WARNING。 这个异常的处理,主要是检查SQLSTATE和SQLCODE这两个保存SQL运行状态的值。 语法格...
  • BOBO12082119
  • BOBO12082119
  • 2013年01月24日 16:20
  • 2314
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态sql语句 异常处理
举报原因:
原因补充:

(最多只允许输入30个字)