- 浏览: 239712 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
243035985:
顶红色的那段
eclipse增加struts.xml智能提示(绝对能用) -
spiritdyh:
不错!!!
eclipse增加struts.xml智能提示(绝对能用) -
xiarilian12:
lovelimx 写道{myEquipSN:encodeURI ...
以"对象"方式接收json数据.(解决乱码问题) -
xiarilian12:
qiaolevip 写道用不成,应该是版本的问题吧。JSONO ...
以"对象"方式接收json数据.(解决乱码问题) -
qiaolevip:
用不成,应该是版本的问题吧。JSONObject jsonOb ...
以"对象"方式接收json数据.(解决乱码问题)
环境区域是用来处理SQL语句的一个oracle存储区域。游标是指向它的指针或句柄。通过游标,PL/SQL程序可以控制这个环境区域中被处理的语句。
Oracle中的游标有两种:显式游标、隐式游标。
显示游标是用cursor...is命令定义的游标,它可以对查询语句(select)返回的多条记录进行处理,而隐式游标是在执行插入(insert)、删除(delete)、修改(update)和返回单条记录的查询(select)语句时由PL/SQL自动定义的。
1、显式游标操作
显式游标在块定义部分、包或子程序中声明。当声明了显式游标后,可以通过以下三条命令控制显式游标的操作:打开游标、推进游标、关闭游标。
(1)声明显式游标
--例1
declare
v_auths auths%rowtype;
v_code auths.author_code%type;
cursor c_auths is
select * from auths where author_code=v_code;
上例是将PL/SQL变量绑定在WHERE子句中,下面将游标参数绑定在游标的WHERE子句中:
--例2
delcare
cursor c_auths(p_code auths.author_code%type) is
select * from auths where author_code=p_code;
(2)打开显式游标
游标操作的第一步是打开游标。
例1,下面的语句是打开上节例1中声明的显式游标c_auths;
begin
--在打开游标前为绑定变量赋值。
v_code:='A00001';
--打开游标。
open c_auths;
例2,如果对于一个带参数的游标
begin
--打开游标时将参数传入。
open c_auths('A00001');
打开一个已打开的游标也是合法的。当第二次打开游标时,PL/SQL先自动关闭游标,然后再打开。一次打开多个游标也是PL/SQL所允许的。
(3)推进显式游标
当打开显式游标后,就可以使用FETCH语句来推进游标,返回查询结果集中的一行。每执行完一条FETCH语句后,显式游标会自动指向查询结果集的下一行。
(4)关闭显式游标
当整个结果集都检索完以后,应当关闭游标。关闭游标用来通知PL/SQL游标操作已经结束,并且释放游标所占用的资源(结果集所使用的资源空间)。
2、游标的属性
游标有四个属性:%found、%notfound、%isopen和%rowcount。要注意这些属性只能使用在过程性语句中,而不能使用在SQL语句中。
表tableattribute,表中有两列column1(number类型)和column2(varchar2类型),现在向表中插入两条记录:
insert into tableattribute values(10,'first');
insert into tableattribute values(20,'second');
...
3、显式游标的推进循环
delcare
--声明一个变量,这个变量用来接收游标返回的结果集。
v_salary auths.salary%type;
v_code auths.author_code%type;
/*声明游标,该游标的查询结果集是作家代码为"A00001"到"A00006"的工资值。*/
cursor c_salary is select salary,author_code from auths where author_code<='A00006';
begin
--打开游标,并初始化结果集
open c_salary;
loop
--推进游标,将游标的查询结果集中的一行存到变量v_salary中。
fetch c_salary into v_salary,v_code;
--当结果集中没有行时退出循环。
exit when c_salary%notfound;
--如果查询到的作家工资小于或等于200,则增加该作家的工资值。
if v_salary<=200 then
update auths set salary=salary+50 where author_code=v_code;
end if;
end loop;
--关闭游标,释放游标占用资源。
close c_salary;
--提交所做的修改。
commit;
end;
PL/SQL还提供了一种简单类型的循环,可以自动控制游标的打开、推进和关闭,叫做游标的FOR循环。
delcare
cursor c_salary is
select salary form auths where author_code<='A00006';
begin
--开始游标FOR循环,隐含地打开c_salary游标。
for v_salary in c_salary loop
--一个隐含的fetch语句在这里被执行。
if v_salary.salary<=200 then
update auths set salary=salary+50 where salary=v_salary.salary;
end if;
--在循环继续前,一个隐含的c_auths%notfound被检测。
end loop;
--现在循环已经结束,c_auths游标的一个隐含的close操作被执行。
commit;
end;
使用current of cursor子句作为条件
delcare
--声明游标时在select语句中必须加for update of子句。
cursor c_salary is
select salary form auths where author_code<'A00006' for update of salary;
begin
for v_salary in c_salary loop
if v_salary.salary<=200 then
--下面的update语句中的current of子句用来表明结果集的当前行。
update auths set salary=salary+50 where current of c_salary;
end if;
end loop;
commit;
end;
如果在游标的FOR循环中使用子查询,则不用在块定义部分声明显式游标,在FOR循环中子查询隐含声明了一个显式游标。
begin
--在下面的FOR循环中隐含地声明了一个游标c_salary。
for c_salary in
(select salary form auths where author_code<='A00006') loop
if c_salary.salary<=200 then
update auths set salary=salary+50 where salary=c_salary.salary;
end if;
end loop;
commit;
end;
4、隐式游标处理
PL/SQL隐式地打开SQL游标,并在它内部处理SQL语句,然后关闭它。SQL游标用来处理insert、update、delete以及返回一行的select...into语句。
一个SQL游标不管是打开还是关闭,open、fetch和close命令都不能操作它。SQL游标与显式游标类似,也有四个一样的属性。当打开SQL游标之前,SQL游标的属性都为NULL。
begin
update auths set entry_date_time=sysdate where author_code='A00017';
--如果update语句中修改的行不存在(SQL%notfound返回值为true),则向auths表中插入一行。
if sql%nofound then
insert into auths(author_code,name,sex,birthdate,salary,entry_date_time)
values('A000017','qiuys',1,'30-apr-40',88.5,sysdate);
end if;
end;
--如果update语句中修改的行不存在(sql%rowcount=0)
declare
v_birthdate date;
begin
select birthdate into v_birthdate from auths where name='qiuys';
--如果查询到一条记录,则删除该记录。
if sql%found then
delete from auths where name='qiuys';
end if;
exception
when no_data_found then
dbms_output.put_line('该记录不存在');
when too_many_rows then
dbms_output_line('存在同名的作家');
end;
5、游标变量
到目前为止前面所有显式游标的例子都是静态游标-即游标与一个SQL语句关联,并且该SQL语句在编译时已经确定。
而游标变量是一个引用类型(REF)的变量。
(1)游标变量的声明
declare
--使用%rowtype定义一个游标变量类型。
type t_authsref is ref cursor return auths%rowtype;
--定义一个记录类型。
type t_coderecord is record(
author_code article.author_code%type,
article_code article.article_code%type);
--声明一个记录类型的变量。
v_code t_coderecord;
--使用t_coderecord作为一个游标变量类型的结果集类型。
type t_coderef is ref cursor return t_codeRecord;
--使用v_code作为一个游标变量类型的结果集类型。
type t_coderef2 is ref cursor return v_code%type;
--使用上面的类型声明的两个游标变量。
v_authcv t_authsref;
v_codecv t_coderef;
PL/SQL2.8以上版本中,可以使用一个没有指定结果集类型的游标变量(没有RETURN)来指定多个不同类型的查询。
type t_authsref if ref cursor;
v_cursorvar t_authsref;--声明一个该类型的变量。
(2)打开游标变量
为了将一个游标变更与一个具体的select语句联系起来,open的语法中增加了一个select语句。
open cursor_variable for select_statement;
declare
type t_authorsref is ref cursor return auths%rowtype;
v_authscv t_authorsref;
--然后打开
open v_authscv for select * from auths;
3)推进游标变更
(4)关闭游标变更
该操作用来释放查询所占用的资源。但没有释放游标变量占用的存储空间。当变量超出作用域时,它所占用的空间才被释放掉。
下面的块中定义了一个没有指定结果集的游标变量,这样我们就可以使用这个游标变量指向不同的查询,并能够返回不同的记录类型:
set serveroutput on size 100000 --设置存储缓冲区大小。
declare
/*定义游标变更类型t_curref,该游标变量类型没有指定结果集类型,所以该游标变量类型的变量可以返回不同的PL/SQL记录类型。*/
type t_curref is ref cursor;
--声明一个游标变量类型的变量
c_cursorref t_curref;
--定义PL/SQL记录类型t_authorrec,该类型的变量用来接收游标变量的返回值。
type t_authorrec is record(
authorcode auths.author_code%type,
name auths.name%type);
--定义PL/SQL记录类型t_articlerec,该类型的变量也用来接收游标变量的返回值。
type t_articlerec is record(
authorcode article.author_code%type,
title artitle.title%type);
--声明两个记录类型变量。
v_author t_authorrec;
v_article t_articlerec;
begin
--打开游标变量c_cursorref,返回t_authorrec类型的记录。
open c_cursorref for
select author_code,name from auths where author_code in('A00001','A00002','A00003','A00004','A00005');
--推进游标变量
fetch c_cursorref into v_author;
--游标变量的推进循环。
while c_cursorref%found loop
--将作家代码和相应的作家名字输出到屏幕上。
dbms_output.put(v_author.authorcode||':'||v_author.name||' ');
fetch c_cursorref into v_author;
end loop;
dbms_output.new_line;--向屏幕上输出一个回车行。
--关闭游标变量,仅仅将游标变量指定的资源释放掉,游标变量本身的存储空间没有释放掉。
close c_cursorref;
--再次打开游标变量,返回t_articlerec类型的记录。
open c_cursorref for
select author_code,title from article
where author_code in('A00001','A00002','A00003','A00004','A00005');
fetch c_cursorref into v_article;
while c_cursorref%found loop
...
end loop;
close c_cursorref;
end;
注意,在上例中,第一次关闭游标变量是可省略的,因为在第二次打开游标变量时,就将第一次的查询丢失掉了。而且游标变量也有游标属性,通常在推进游标变量时使用这些游标属性,例如上例使用了%found属性。
Oracle中的游标有两种:显式游标、隐式游标。
显示游标是用cursor...is命令定义的游标,它可以对查询语句(select)返回的多条记录进行处理,而隐式游标是在执行插入(insert)、删除(delete)、修改(update)和返回单条记录的查询(select)语句时由PL/SQL自动定义的。
1、显式游标操作
显式游标在块定义部分、包或子程序中声明。当声明了显式游标后,可以通过以下三条命令控制显式游标的操作:打开游标、推进游标、关闭游标。
(1)声明显式游标
--例1
declare
v_auths auths%rowtype;
v_code auths.author_code%type;
cursor c_auths is
select * from auths where author_code=v_code;
上例是将PL/SQL变量绑定在WHERE子句中,下面将游标参数绑定在游标的WHERE子句中:
--例2
delcare
cursor c_auths(p_code auths.author_code%type) is
select * from auths where author_code=p_code;
(2)打开显式游标
游标操作的第一步是打开游标。
例1,下面的语句是打开上节例1中声明的显式游标c_auths;
begin
--在打开游标前为绑定变量赋值。
v_code:='A00001';
--打开游标。
open c_auths;
例2,如果对于一个带参数的游标
begin
--打开游标时将参数传入。
open c_auths('A00001');
打开一个已打开的游标也是合法的。当第二次打开游标时,PL/SQL先自动关闭游标,然后再打开。一次打开多个游标也是PL/SQL所允许的。
(3)推进显式游标
当打开显式游标后,就可以使用FETCH语句来推进游标,返回查询结果集中的一行。每执行完一条FETCH语句后,显式游标会自动指向查询结果集的下一行。
(4)关闭显式游标
当整个结果集都检索完以后,应当关闭游标。关闭游标用来通知PL/SQL游标操作已经结束,并且释放游标所占用的资源(结果集所使用的资源空间)。
2、游标的属性
游标有四个属性:%found、%notfound、%isopen和%rowcount。要注意这些属性只能使用在过程性语句中,而不能使用在SQL语句中。
表tableattribute,表中有两列column1(number类型)和column2(varchar2类型),现在向表中插入两条记录:
insert into tableattribute values(10,'first');
insert into tableattribute values(20,'second');
...
3、显式游标的推进循环
delcare
--声明一个变量,这个变量用来接收游标返回的结果集。
v_salary auths.salary%type;
v_code auths.author_code%type;
/*声明游标,该游标的查询结果集是作家代码为"A00001"到"A00006"的工资值。*/
cursor c_salary is select salary,author_code from auths where author_code<='A00006';
begin
--打开游标,并初始化结果集
open c_salary;
loop
--推进游标,将游标的查询结果集中的一行存到变量v_salary中。
fetch c_salary into v_salary,v_code;
--当结果集中没有行时退出循环。
exit when c_salary%notfound;
--如果查询到的作家工资小于或等于200,则增加该作家的工资值。
if v_salary<=200 then
update auths set salary=salary+50 where author_code=v_code;
end if;
end loop;
--关闭游标,释放游标占用资源。
close c_salary;
--提交所做的修改。
commit;
end;
PL/SQL还提供了一种简单类型的循环,可以自动控制游标的打开、推进和关闭,叫做游标的FOR循环。
delcare
cursor c_salary is
select salary form auths where author_code<='A00006';
begin
--开始游标FOR循环,隐含地打开c_salary游标。
for v_salary in c_salary loop
--一个隐含的fetch语句在这里被执行。
if v_salary.salary<=200 then
update auths set salary=salary+50 where salary=v_salary.salary;
end if;
--在循环继续前,一个隐含的c_auths%notfound被检测。
end loop;
--现在循环已经结束,c_auths游标的一个隐含的close操作被执行。
commit;
end;
使用current of cursor子句作为条件
delcare
--声明游标时在select语句中必须加for update of子句。
cursor c_salary is
select salary form auths where author_code<'A00006' for update of salary;
begin
for v_salary in c_salary loop
if v_salary.salary<=200 then
--下面的update语句中的current of子句用来表明结果集的当前行。
update auths set salary=salary+50 where current of c_salary;
end if;
end loop;
commit;
end;
如果在游标的FOR循环中使用子查询,则不用在块定义部分声明显式游标,在FOR循环中子查询隐含声明了一个显式游标。
begin
--在下面的FOR循环中隐含地声明了一个游标c_salary。
for c_salary in
(select salary form auths where author_code<='A00006') loop
if c_salary.salary<=200 then
update auths set salary=salary+50 where salary=c_salary.salary;
end if;
end loop;
commit;
end;
4、隐式游标处理
PL/SQL隐式地打开SQL游标,并在它内部处理SQL语句,然后关闭它。SQL游标用来处理insert、update、delete以及返回一行的select...into语句。
一个SQL游标不管是打开还是关闭,open、fetch和close命令都不能操作它。SQL游标与显式游标类似,也有四个一样的属性。当打开SQL游标之前,SQL游标的属性都为NULL。
begin
update auths set entry_date_time=sysdate where author_code='A00017';
--如果update语句中修改的行不存在(SQL%notfound返回值为true),则向auths表中插入一行。
if sql%nofound then
insert into auths(author_code,name,sex,birthdate,salary,entry_date_time)
values('A000017','qiuys',1,'30-apr-40',88.5,sysdate);
end if;
end;
--如果update语句中修改的行不存在(sql%rowcount=0)
declare
v_birthdate date;
begin
select birthdate into v_birthdate from auths where name='qiuys';
--如果查询到一条记录,则删除该记录。
if sql%found then
delete from auths where name='qiuys';
end if;
exception
when no_data_found then
dbms_output.put_line('该记录不存在');
when too_many_rows then
dbms_output_line('存在同名的作家');
end;
5、游标变量
到目前为止前面所有显式游标的例子都是静态游标-即游标与一个SQL语句关联,并且该SQL语句在编译时已经确定。
而游标变量是一个引用类型(REF)的变量。
(1)游标变量的声明
declare
--使用%rowtype定义一个游标变量类型。
type t_authsref is ref cursor return auths%rowtype;
--定义一个记录类型。
type t_coderecord is record(
author_code article.author_code%type,
article_code article.article_code%type);
--声明一个记录类型的变量。
v_code t_coderecord;
--使用t_coderecord作为一个游标变量类型的结果集类型。
type t_coderef is ref cursor return t_codeRecord;
--使用v_code作为一个游标变量类型的结果集类型。
type t_coderef2 is ref cursor return v_code%type;
--使用上面的类型声明的两个游标变量。
v_authcv t_authsref;
v_codecv t_coderef;
PL/SQL2.8以上版本中,可以使用一个没有指定结果集类型的游标变量(没有RETURN)来指定多个不同类型的查询。
type t_authsref if ref cursor;
v_cursorvar t_authsref;--声明一个该类型的变量。
(2)打开游标变量
为了将一个游标变更与一个具体的select语句联系起来,open的语法中增加了一个select语句。
open cursor_variable for select_statement;
declare
type t_authorsref is ref cursor return auths%rowtype;
v_authscv t_authorsref;
--然后打开
open v_authscv for select * from auths;
3)推进游标变更
(4)关闭游标变更
该操作用来释放查询所占用的资源。但没有释放游标变量占用的存储空间。当变量超出作用域时,它所占用的空间才被释放掉。
下面的块中定义了一个没有指定结果集的游标变量,这样我们就可以使用这个游标变量指向不同的查询,并能够返回不同的记录类型:
set serveroutput on size 100000 --设置存储缓冲区大小。
declare
/*定义游标变更类型t_curref,该游标变量类型没有指定结果集类型,所以该游标变量类型的变量可以返回不同的PL/SQL记录类型。*/
type t_curref is ref cursor;
--声明一个游标变量类型的变量
c_cursorref t_curref;
--定义PL/SQL记录类型t_authorrec,该类型的变量用来接收游标变量的返回值。
type t_authorrec is record(
authorcode auths.author_code%type,
name auths.name%type);
--定义PL/SQL记录类型t_articlerec,该类型的变量也用来接收游标变量的返回值。
type t_articlerec is record(
authorcode article.author_code%type,
title artitle.title%type);
--声明两个记录类型变量。
v_author t_authorrec;
v_article t_articlerec;
begin
--打开游标变量c_cursorref,返回t_authorrec类型的记录。
open c_cursorref for
select author_code,name from auths where author_code in('A00001','A00002','A00003','A00004','A00005');
--推进游标变量
fetch c_cursorref into v_author;
--游标变量的推进循环。
while c_cursorref%found loop
--将作家代码和相应的作家名字输出到屏幕上。
dbms_output.put(v_author.authorcode||':'||v_author.name||' ');
fetch c_cursorref into v_author;
end loop;
dbms_output.new_line;--向屏幕上输出一个回车行。
--关闭游标变量,仅仅将游标变量指定的资源释放掉,游标变量本身的存储空间没有释放掉。
close c_cursorref;
--再次打开游标变量,返回t_articlerec类型的记录。
open c_cursorref for
select author_code,title from article
where author_code in('A00001','A00002','A00003','A00004','A00005');
fetch c_cursorref into v_article;
while c_cursorref%found loop
...
end loop;
close c_cursorref;
end;
注意,在上例中,第一次关闭游标变量是可省略的,因为在第二次打开游标变量时,就将第一次的查询丢失掉了。而且游标变量也有游标属性,通常在推进游标变量时使用这些游标属性,例如上例使用了%found属性。
发表评论
-
数据库分页语句(mysql,oracle,sqlserver,DB2)
2010-12-29 22:32 1593mysql: 引用 select * from ... -
oracle常用操作
2010-12-29 22:30 1114创建表空间 create tablespace 表空间 ... -
oracle 函数整理(一)
2010-12-29 22:28 9411. ASCII: 返回与指定的字 ... -
不装Oracle使用PL/SQL
2010-07-22 17:36 1552Sql客户端中,虽然最便捷的是万能而且轻量无比的Sql Wor ... -
DBA最佳实践
2010-04-18 17:11 948就我而言,最佳实 ... -
set autotrace on
2010-04-18 16:42 1951在SQL*Plus中,你可以通 ... -
oracle分析函数
2010-04-18 16:36 920分析函数是oracle816引入的一个全新的概念,为我们分析数 ... -
在oracle中通过connect by prior来实现递归查询!
2010-02-25 13:26 1431connect by 是结构化查询 ... -
深入了解start with .....connect by (一)
2010-02-25 11:50 1135START WITH . . . CONNECT BY . . ... -
手工备份恢复--导入导出(练习15.16.17)
2010-02-25 11:23 1615到目前为止介绍的备份 ... -
行转列
2010-02-25 09:24 10171. 概述 最近论坛很多人提的问题都与行列转换有关系,所以我对 ... -
Oracle SQL精妙SQL语句讲解
2010-02-20 12:46 1003DROP TABLE t_change_lc; CREATE ... -
oracle OOP
2010-02-20 12:00 1061关系数据库在不断地发展时,许多数据库引入了面向对象的思想,这其 ... -
存储过程
2010-02-20 11:44 788存储过程创建语法: create or rep ... -
Oracle SQL的优化
2010-02-15 12:15 815SQL的优化应该从5个方面进行调整: 1.去掉不必要的大型表的 ... -
游标以及游标变量
2010-01-19 13:39 1771一. PL/SQL 是用游标来管理 SQL 的 SELECT ... -
oracle查看锁表进程,杀掉锁表进程
2010-01-15 17:57 66058查看锁表进程SQL语句1: select sess.sid, ... -
ORACLE ERROR CODE代表的意思
2009-10-23 19:26 2007标准的 SQLException 提供了一个标准化的信息段 ( ...
相关推荐
oracle游标变量和数据包
游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或...
在PL/SQL中可以使用游标处理数据。通过使用游标可以大大提高PL/SQL程序对数据...本章将主要介绍如何使用显式游标进行多行数据的查询、游标FOR循环以及游标变量的使用,另外还将介绍游标属性以及嵌套游标的使用等内容。
Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标
一点关于oracle的练习题!较难~慢慢看吧!~受打击了别管我啊!!!!
本文实例讲述了Oracle存储过程游标用法。分享给大家供大家参考,具体如下: 使用游标的5个步骤 1、声明一些变量用于保存select语句返回的指 2、声明游标,并指定select 语句 3、打开游标 4、从游标中获取记录 5、...
包含oracle存储过程的增、删、查、改 %type、%rowtype的使用 自定义函数 PL/SQL块
文章目录游标1.1 显式游标1.1.1 创建游标1.1.2 打开游标1.1.3 获取数据1.1.4 关闭游标1.1.5 使用实例1.2 隐式游标1.2.2 游标属性1.3 FOR游标1.4 游标变量1.4 游标表达式1.5 动态游标 游标 游标是一个指针,指向一块...
Oracle笔记 二、常用dba命令行 Oracle笔记 三、function 、select Oracle笔记 四、增删改、事务 Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间 Oracle笔记 六、PL/SQL简单语句块、变量定义 ...
Oracle笔记 二、常用dba命令行 Oracle笔记 三、function 、select Oracle笔记 四、增删改、事务 Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间 Oracle笔记 六、PL/SQL简单语句块、变量定义 ...
8.Oracle数据库游标使用大全 76 其他DML语句 77 DML语句的结果 78 使用游标 79 从游标提取数据 81 记录变量 82 带参数的游标 83 游标FOR循环 84 在游标FOR循环中使用查询 86 游标中的子查询 86 9.PL/SQL异常处理初步...
详细的记录了C#如何调用oracle以及带有存储过程输出变量的方法,适合初学者。
/* 小弟刚刚接触ORACLE存储过程,有一个问题向各位同行求教,小弟写了一个存储过程,其目的是接收一个参数作为表名,然后查询该表中的全部记录的某一个字段的内容导入到另一个表中。 ( tabname in varchar ) is v_...
这是我学习Oracle时,老师给的讲义,...Day07-Oracle高级查询二.pdf Day08-Oracle分页查询和视图.pdf Day09-存储过程.pdf Day10-变量定义和循环控制.pdf Day11-plsql游标和函数.pdf Day12-触发器.pdf Day13-索引.pdf
结合实例,介绍了oracle存储过程的用法,包括定义,变量类型,游标,流程分支语句的使用
创建表二 2 创建表三 3 二、添加、修改、删除 3 添加 3 修改 4 删除 4 三、ORACLE 10g新增的数据类型 4 说明 4 示例 4 特殊值 4 四、ORACLE PL/SQL简介 5 1 块结构 5 2 变量和类型 6 3 条件逻辑 6 4 循环 7 5 游标 8...
4.2.5 游标变量 4.3 过程 4.3.1 创建过程 4.3.2 调用过程 4.3.3 删除过程 4.3.4 过程的参数类型及传递 4.4 函数 4.4.1 创建函数 4.4.2 调用函数 4.4.3 删除函数 4.5 程序包 4.5.1 基本原理 ...
oracle数据库存储的语法,使用方法,定义变量,申明变量,游标以及完整的范例,仅供大家参考学习,谢谢大家
PL/SQL 变量的使用 表达式 PL/SQL结构控制 PL/SQL中使用DML和DDL语言 PL/SQL中的异常 PL/SQL函数编写 第8章-游标,数据的缓存区 什么是游标 显示游标 隐式游标 第9章-视图,数据库中虚拟的表 什么是...