oracle 笔记 VI 之游标 (CURSOR)
游标(CURSOR),很重要
游标:用于处理多行记录的事务
游标是一个指向上下文的句柄(handle)或指针,简单说,游标就是一个指针
1 处理显式游标
显式游标处理需 4个 PL/SQL 步骤,显示游标主要用于处理查询语句
(1) 定义游标
格式: CURSOR cursor_name [(partment[,parameter]...)] IS select_statement;
定义的游标不能有 INTO 子句
(2) 打开游标
OPEN cursor_name[...];
PL/SQL 程序不能用 OPEN 语句重复打开一个游标
(3)提取游标数据
FETCH cursor_name INTO {variable_list | record_variable};
(4) 关闭游标
CLOSE cursor_name;
例 1 查询前 10 名员工的信息
declare
--定义游标
cursor c_cursor is select last_name,salary from employees where rownum < 11 order by salary;
v_name employees.last_name%type;
V_sal employees.salary%type;
begin
--打开游标
open c_cursor;
-- 提取游标数据
fetch c_cursor into v_name,v_sal;
while c_cursor %found loop
dbms_output.put_line(v_name || ':' || v_sal);
fetch c_cursor into v_name,v_sal;
end loop;
--关闭游标
close c_cursor;
end;
----------------------------------
练习: 输入部门号 dep_id,查询该部门的平均工资 : avg_sal,员工工资为 salary
若 salary < avg_sal - 500 工资涨 500
若 avg_sal - 500 <= salary < avg_sal + 500 工资涨 300
若
相关文档:
一、设置初始化参数 job_queue_processes
sql> alter system set job_queue_processes=n;(n>0)
job_queue_processes最大值为1000
查看job queue 后台进程
sql>select name,description from v$bgprocess;
二,dbms_job package 用法介绍
包含以下子过程:
......
经常有同事咨询oracle数据库字符集相关的问题,如在不同数据库做数据迁移、同其它系统交换数据等,常常因为字符集不同而导致迁移失败或数据库内数据变成乱码。现在我将oracle字符集相关的一些知识做个简单总结,希望对大家今后的工作有所帮助。
一、什么是oracle字符集
Oracle字符集是一个字节数据的解释 ......
数据字典dict总是属于Oracle用户sys的。
1、用户:
select username from dba_users;
改口令
alter user spgroup identified by spgtest;
2、表空间:
select * from dba_data_files;
select * from dba_tablespaces;//表空间
select tablespace_name,sum(bytes), sum(b ......
开发组在数据迁移时,报告发现一些数值为'0000/00/00'的date数据,导致数据迁移失败。
这个问题有点奇怪,因为在Oracle中,date类型的数据的取值范围是从-4712/12/31到9999/12/31之间,并且年份不能为0。也就是说'0000/00/00'是一个非法数据,不为Oracle所接受。
SQL> select to_date('0000-00-00', 'yyyy-mm- ......
隔离级别(isoation level)
隔离级别定义了事务与事务之间的隔离程度。
隔离级别与并发性是互为矛盾的:隔离程度越高,数据库的并发性越差;隔离程度越低,数据库的并发性越好。
ANSI/ISO SQ92标准定义了一些数据库操作的隔离级别:
未提交读(read uncommitted)
提交读(read committed) &n ......