扩大
缩小

2013年5月1日

使用复合数据类型——PL/SQL记录表

摘要: pl/sql变量用于处理单行单列数据,pl/sql记录用于处理单行多列数据,pl/sql表用于处理单列多行数据。为了在pl/sql块中处理多行多列数据,开发人员可以使用pl/sql记录表。pl/sql记录表结合了pl/sql记录和pl/sql表的优点,它类似有高级语言中的多维数组,从而可以有效的处理多行多列的数据。例子:根据部门号输出该部门的所有雇员名及其工资:declare type emp_table_type is table of emp%rowtypeindex by binary_integer;emp_table emp_table_type;beginselect * bulk 阅读全文

posted @ 2013-05-01 18:04 LinuxPanda 阅读(401) 评论(0) 推荐(0) 编辑

使用复合数据类型——PL/SQL表

摘要: pl/sql表也称为索引表,它类似于高级语言的一维数组。p/sql记录用于处理单行多列数据,而pl/sql表用于处理多行单列数据。注意:高级语言数组的元素个数是有限制的,而且下标不能为负;而pl/sql表的元素个数没有限制,而且下标可以为负;使用pl/sql表处理单行单列数据例子:根据雇员号输出雇员名:@d:demo\s;declare type ename_table_type is table of emp.ename%typeindex by binary_integer;ename_table ename_table_type;beginselect ename into ename_ 阅读全文

posted @ 2013-05-01 17:52 LinuxPanda 阅读(286) 评论(0) 推荐(0) 编辑

使用复合数据类型——PL/SQL记录

摘要: pl/sql记录类似于高级语言中的结构,它有易于处理单行数据。当使用pl/sql记录时,应用开发人员即可以自定义记录类型和记录变量,也可以使用%rowtype属性直接定义记录变量。自定义pl/sql记录当使用自定义的pl/sql记录时,需要分别定义pl/sql记录类型和记录变量。例子:set verify offset serveroutput ondeclare type emp_record_type is record( name emp.ename%type,salary emp.sal%type ); emp_record emp_recor... 阅读全文

posted @ 2013-05-01 14:59 LinuxPanda 阅读(641) 评论(0) 推荐(0) 编辑

使用例外

摘要: 例外(exception)是一种pl/sql标示符,他用于处理pl/sql程序的运行错误。为了提高pl/sql程序的健壮性,开发人员必须要考虑pl/sql程序可能出现的各种错误,并编写相应的例外处理部分。如果不进行错误处理,那么在出现运行错误时,会终止pl/sql程序的运行,并显示错误信息。例子:declarev_ename emp.ename%type;beginselect ename into v_ename from emp where empno=&no;dbms_output.put_line('雇员名:'||v_ename);end;/输入no的值:111 阅读全文

posted @ 2013-05-01 11:59 LinuxPanda 阅读(414) 评论(0) 推荐(0) 编辑

使用游标——使用游标更新或删除数据

摘要: 通过使用显式游标,不仅可以一行一行的处理select语句的结果,而且也可以更新或删除当前游标行的数据。注意,如果通过游标更新活是删除数据,那么在定义游标时必须要带有for update 子句。例子:显示雇员名,工资,部门号,并给部门30的所有雇员增加200元工资:declare cursor emp_cursor is select * from emp for update;beginfor emp_record in emp_cursor loopif emp_record.deptno=30 thenupdate emp set sal=sal+200 where current of 阅读全文

posted @ 2013-05-01 10:40 LinuxPanda 阅读(4235) 评论(0) 推荐(1) 编辑

使用游标——游标FOR循环

摘要: 游标for循环是在pl/sql块中使用游标最简单的方式,它简化了对游标的处理。当使用游标for循环时,oracle会隐含的打开游标,提取游标数据并关闭游标。例子: 显示emp表所有雇员名及其工资:declarecursor emp_cursor is select ename,sal from emp ;beginfor emp_record in emp_cursor loopdbms_output.put_line('姓名: '||emp_record.ename||' , 工资: '||emp_record.sal);end loop;end ;/anon 阅读全文

posted @ 2013-05-01 09:54 LinuxPanda 阅读(9777) 评论(0) 推荐(1) 编辑

导航