易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle游标实用

  declare
sqlstring varchar2(100);
emprow emp_bak%rowtype;
myno emp_bak.empno%type;
begin

--sqlstring:='create table emp_bak as select * from emp';

sqlstring:='select * from emp_bak where empno=:myno and sal>:mysal';

myno:='&请输入员工编号';

--动态SQL
execute immediate sqlstring into emprow using myno,3001 ;

dbms_output.put_line(emprow.sal);

exception
when no_data_found then
dbms_output.put_line('输入的员工编号不存在');
end;
select * from emp_bak
--隐士游标 游标名字 SQL
--隐式游标 是oracle 系统自动在运行DML语句的时候 生成的。 他自动打开 自动关闭。
-- 一般情况下 该游标 对于程序员来说 是透明的
declare
begin

update emp_bak set sal = 2500 where empno = 8888;


--输出隐士游标中的一个属性 %rowcount 就是影响的行数
dbms_output.put_line(sql%rowcount);
end;
-- %ISOPEN - 游标是否打开 布尔值
-- %noopen 没有这个属性!!
-- %FOUND – 游标中是否还有数据
-- %NOTFOUND – 游标中是否还有数据
-- %ROWCOUNT – SQL 语句影响的行数
-- CURSOR 游标
--显式游标 有程序员自己定义游标 自己定义 自己使用
--游标要使用的话 步骤 1 定义 2 打开 3 使用(循环) 4 关闭游标
declare
--`1 定义游标
cursor mycursor is select ename,sal from emp_bak;
emprow emp_bak%rowtype;
begin
-- 2 打开游标
open mycursor;

-- 3 使用游标

loop
-- 游标中的数据 是通过关键字 提取 fetch
fetch mycursor into emprow.ename,emprow.sal; -- 1 提取数据 2 并且该游标会指向下一行

if(emprow.sal >2000 and emprow.sal<3000) then
dbms_output.put_line(emprow.ename||' '|| emprow.sal);
end if;
-- dbms_output.put_line(emprow.ename||' '|| emprow.sal);
exit when mycursor%NOTFOUND; --2 使用游标的%NOTFOUND属性检测游标是否还有数据 如果没有了 那么就退出循环!!

end loop;

-- 关闭游标
close mycursor;
end;
--简单写法 循环游标
declare
--`1 定义游标
cursor mycursor is select ename,


相关文档:

oracle在Hp unix上的自动启动

http://space.itpub.net/9134/viewspace-166486
经常有人会需要Oracle数据库随着操作系统一起启动和关闭,而修改/etc/oratab,设置了oracle SID行启动为Y时实际上是不好用的。本文以一个例子来示范如何去做。
如下给的是一个example,注意部分内容可能要改,比如oracle的用户名。
1、在/sbin/init.d/目录下建立一个文件, ......

Oracle ASM究竟是做什么的 答疑七

  感谢读者看《Oracle大型数据库系统在AIXUNIX上的实战详解》这本书,这里回答一些读者邮件提出的一个较为公共的问题:ASM有什么用?为什么用?   ASM是Oracle从10g开始提供的一种存储管理技术,指的是一个在物理卷(或者磁盘分区)上特别为Oracle数据文件而创建的“专用”文件系统。该文件系统由Oracle内核维 ......

【转帖】SQL Oracle删除重复记录

1.Oracle删除重复记录.
删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录.
delete from people
where peopleId  in (select  peopleId  from people  group  by  peopleId   having  count(peopleId) > 1)
and rowid not i ......

Oracle 9i LogMiner工具使用说明

原文地址:http://oracle.chinaitlab.com/induction/725752.html
一、logminer的用途
  日志文件中存放着所有进行数据库恢复的数据,记录了针对数据库结构的每一个变化,也就是对数据库操作的所有DML语句。
  logminer 工具即可以用来分析在线,也可以用来分析离线日志文件,即可以分析本身自己数据库的重作日志文 ......

【转】ORACLE用户连接的管理

用系统管理员,查看当前数据库有几个用户连接:

SQL> select username,sid,serial# from v$session;

如果要停某个连接用

SQL> alter system kill session 'sid,serial#';

 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号