`
jinliyixi
  • 浏览: 18212 次
  • 性别: Icon_minigender_2
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle笔记五(类型+循环+异常)

阅读更多
复合类型:
1. 记录类型
a) Type t_record is record(
T_empno emp.empno%type,
T_ename emp.ename%type
T_row emp%rowtype
);
b) rowtype
T_row emp%rowtype := &no;
2. PL/SQL表类型(相当于数组类型)
Type dept_table_type is table of
Dept%rowtype (表中存放的数据类型)  index by binary_integer(指明表的索引,即数组下标);
Index by表中的元素不一定要按任何特定的顺序排序
关键字唯一允许的类型是BINARY_INTERGER   
使用主键值引用表中的字段

3. PL/SQL中的可变数组
Type string is varray(5) of number(4);

PL/SQL中的if…then…(elseif…then…)else…end
if v_sal<1500 then v_comments:='too low';
elsif v_sal<3000 then v_comments:='so so';
else v_comments:='some high';
end if;

PL/SQL中的case语句
v_comments:=
case v_grade
  when 'A' then 'excellent'
  when 'B' then 'very good'
  when 'C' then 'good'
else 'error grade'
end;

PL/SQL 中的LOOP循环
loop
v_count:=v_count+1;
dbms_output.put_line(v_count);

exit when v_count>=10;
end loop;

PL/SQL中的wile循环
while v_count<10 loop
  v_count:=v_count+1;
  dbms_output.put_line(v_count);
end loop;

PL/SQL中的For循环
For v_count in(reverse) 1 。。10 loop
dbms_output.put_line(v_count);
end loop;

PL/SQL中的GoTo语句
for v_count in reverse 1..10 loop
dbms_output.put_line(v_count);
if v_count=5 then goto endogloop; end if;
end loop;
<<endogloop>>
dbms_output.put_line('end ');

PL/SQL中的占位符 null;
<<endogloop>>
Null;

预定义异常处理:
exception
when no_data_found then
  dbms_output.put_line('no data found');
when too_many_rows then
dbms_output.put_line('too many rows');
when others then
dbms_output.put_line(sqlcode ||','||sqlerrm);

非预定义异常处理
Declare
deptno_remaining exception;
pragma exception_init(deptno_remaining,-2292);
begin
excption
when deptno_remaining then
dbms_output.put_line('Î¥•´ÍêÕûÐÔÔ¼Êø£¡');
dbms_output.put_line(sqlcode || ',' ||sqlerrm);
end;

自定义异常处理:
Declare
no_result exception;
begin
update dept set dname='finance' where deptno=v_deptno;
if sql%notfound then
   raise no_result;
end if;
exception
when no_result then
dbms_output.put_line('no databe found');
when others then
dbms_output.put_line(sqlcode || ',' || sqlerrm);
end;
分享到:
评论

相关推荐

    韩顺平oracle视频笔记

    ### 韩顺平Oracle视频笔记知识点概览 #### 1. Oracle 用户管理 - **概念**:在Oracle数据库中,用户是用来管理访问权限的基本单位。每个用户都可以有自己的模式(schema),其中包含各种对象如表、视图等。 - **创建...

    oracle教程笔记

    在PL/SQL编程部分,你会学到如何声明变量、控制流程(IF-THEN-ELSE、CASE语句、循环结构)、异常处理以及调用数据库对象。这部分内容对于开发复杂的业务逻辑和提高数据库性能非常关键。 数据库管理是Oracle教程笔记...

    学习oracle笔记(word版本)

    以下是一些从“学习Oracle笔记”中提取的关键知识点: 1. **DECODE 函数**:DECODE 函数在Oracle SQL中用于替代简单的IF...ELSE逻辑。在示例中,`decode(sex, '男', 1, 0)` 意味着如果性别为'男',则返回1,否则...

    Oracle 笔记.docx

    ### Oracle 笔记知识点梳理 #### 一、数据库基础 - **数据的储存方法**: - 大脑记忆:适合少量数据,不适用于长期存储。 - 纸质记录:传统方式,不方便检索和更新。 - 计算机内存:适合临时存储,断电后数据...

    oracle笔记(韩顺平oracle视频教学整理)

    韩顺平作为IT培训讲师,其Oracle视频教学内容被整理成笔记,旨在帮助初学者快速入门Oracle数据库。以下是从提供的文件内容中提炼出的知识点: 1. Oracle基本使用:文档提到基本命令的使用,这些是进行数据库操作的...

    oracle笔记proc代码等

    "Oracle笔记proc代码等"这个标题和描述暗示了我们可能涉及到的是关于Oracle数据库的PL/SQL过程(PROC)编程相关的学习资料。PL/SQL是Oracle专有的SQL扩展,它允许开发者编写存储过程、函数、触发器等,以实现更复杂...

    韩顺平 oracle 课堂笔记

    ### 韩顺平 Oracle 课堂笔记精要 #### 一、Oracle 用户管理与权限分配 韩顺平的Oracle课堂笔记中,用户管理被置于重要位置。在Oracle数据库中,用户管理包括创建用户、授予权限、修改用户属性等操作。其中,`sys`...

    ORACLE笔记珍藏版

    Oracle数据库是企业级广泛使用的数据库管理系统,它的核心特性之一是支持PL/SQL,这是一种过程化SQL语言,极大地增强...因此,学习和整理Oracle笔记是非常有价值的,能够帮助你更好地理解和使用这个强大的数据库系统。

    Oracle老师教学笔记,很详细.

    笔记可能涉及基本的PL/SQL语法,如声明变量、控制流程(IF-THEN-ELSE、WHILE、FOR循环)、异常处理等。 8. **索引与分区**:索引可以加速查询,而分区则能优化大数据量表的管理。笔记可能讲解了如何创建和管理索引...

    oracle笔记(存储过程函数触发器游标流程控制等)

    这份"oracle笔记(存储过程函数触发器游标流程控制等)"涵盖了Oracle数据库管理中的关键知识点,包括但不限于以下几个方面: 1. **存储过程与函数**:存储过程是预编译的SQL语句集合,用于执行特定任务。它们可以提高...

    Oracle笔记。。。

    它包括变量声明、条件语句、循环结构、异常处理等元素。通过存储过程和函数,可以将业务逻辑封装在数据库中,提高性能并降低应用程序与数据库之间的交互复杂性。 4. **索引**:索引是提升查询性能的重要工具。...

    JAVA初学代码以及ORACLE笔记

    2. **Java语法**:了解基本的语法结构,如变量声明、数据类型(包括原始类型和引用类型)、控制流程(if语句、switch语句、循环)、异常处理和函数的使用是至关重要的。 3. **Java集合框架**:Java集合框架提供了...

    oracle培训老师笔记

    5. **PL/SQL编程**:PL/SQL是Oracle特有的过程化语言,笔记会教授变量声明、流程控制(IF、WHILE、FOR循环)、异常处理,以及存储过程和函数的创建和调用。 6. **数据库安全**:用户管理、权限与角色的概念,GRANT...

    Oracle开发笔记

    "Oracle开发笔记" Oracle 是一种关系型数据库...Oracle 开发笔记提供了许多有价值的知识点,涵盖了序列建立、存储过程、常用函数、异常处理、游标实现和语句优化等方面,都是 Oracle 开发者们必须掌握的重要技能。

    oracle 学习笔记资料

    "Oracle_day04.pdf"可能涉及PL/SQL的变量、条件语句、循环、异常处理等内容。 5. **数据库管理**:包括数据库的创建、启动、关闭、备份和恢复等操作。"Oracle-day03.pdf"可能会详细介绍这些管理任务,尤其是如何...

    oracle笔记 (PL-SQL)

    Oracle笔记(PL-SQL)是关于数据库管理和编程的一个重要主题,主要聚焦于Oracle数据库系统中的结构化查询语言(SQL)的扩展——PL/SQL。PL/SQL是一种过程化语言,结合了SQL的功能,使得开发者能够编写复杂的数据库应用...

    oracle最全学习笔记(个人总结)

    ### Oracle 最全学习笔记知识点梳理 #### 一、存储过程 - **定义**:存储过程是一种在数据库中存储复杂程序以便外部程序调用的一种数据库对象。 - **应用场景**:主要用于执行大量的更新或插入操作,以提高数据库...

    oracle随堂笔记

    3. **PL/SQL编程**:Oracle特有的PL/SQL是SQL的扩展,允许编写过程化代码,如循环、条件语句、异常处理等。它是数据库管理员和开发人员编写存储过程、函数、触发器的关键工具。 4. **数据库对象**:Oracle支持多种...

    oracle核心技术读书笔记一附件1

    哈希连接(Hash Join)、嵌套循环连接(Nested Loop Join)和归并连接(Merge Join)是Oracle支持的三种主要的连接操作。CBO(Cost-Based Optimizer)是Oracle默认的优化器,它根据数据量和操作成本来选择执行计划。...

Global site tag (gtag.js) - Google Analytics