oracle PL SQL学习案例(二)
【训练6.1】 使用隐式游标的属性,判断对雇员工资的修改是否成功。
步骤1:输入和运行以下程序:
BEGIN
UPDATE emp SET sal=sal+100 WHERE empno=1234;
IF SQL%FOUND THEN
DBMS_OUTPUT.PUT_LINE('成功修改雇员工资!');
ROLLBACK;
ELSE
DBMS_OUTPUT.PUT_LINE('修改雇员工资失败!');
END IF;
END;
运行结果为:
修改雇员工资失败!
PL/SQL 过程已成功完成。
步骤2:将雇员编号1234改为7788,重新执行以上程序:
运行结果为:
成功修改雇员工资!
PL/SQL 过程已成功完成。
说明:本例中,通过SQL%FOUND属性判断修改是否成功,并给出相应信息。
=================================================================
【训练7.1】 用游标提取emp表中7788雇员的名称和职务。
DECLARE
v_ename VARCHAR2(10);
v_job VARCHAR2(10);
CURSOR emp_cursor IS
SELECT ename,job from emp WHERE empno=7788;
BEGIN
OPEN emp_cursor;
FETCH emp_cursor INTO v_ename,v_job;
DBMS_OUTPUT.PUT_LINE(v_ename||','||v_job);
CLOSE emp_cursor;
END;
执行结果为:
SCOTT,ANALYST
PL/SQL 过程已成功完成。?
说明:该程序通过定义游标emp_cursor,提取并显示雇员7788的名称和职务。
作为对以上例子的改进,在以下训练中采用了记录变量。
================================================================
【训练7.2】 用游标提取emp表中7788雇员的姓名、职务和工资。
DECLARE
CURSOR emp_cursor IS SELECT ename,job,sal from emp WHERE empno=7788;
emp_record emp_cursor%ROWTYPE;
BEGIN
OPEN emp_cursor;
FETCH emp_cursor INTO emp_record;
DBMS_OUTPUT.PUT_LINE(emp_record.ename||'
相关文档:
转自: http://hi.baidu.com/beanchx/blog/item/ed056509d66f65cc3bc763f4.html
p6spy的替代品:jdbc logger
2007年09月13日 下午 01:07
首先介绍一下这个开源的项目。这个是一个对jdbc中的sql进行logger的一个工具。若在项目中采用了较多的preparedStatement,那么打印出来的sql会有很多"?",非常不方便。有一个产品为p ......
查看锁表进程SQL语句1:
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo,
dba_objects ......
天有不测风云,
IBM 的中端磁盘阵列这次又惹祸了。在微码升级的时候,
DS4800 发生故障。导致当时在这台库上的几套生产库报错了。
IBM工程师把阵列故障恢复后,拍拍屁股走人,阵列上的数据又得我们来想办法抢救了。。。。
还好有oracle support的支持我们最终化解了这次危机。下文详细介绍了整个恢复的过程。
oracle工 ......
select trunc(sysdate ,'yyyy') from dual --本年度第一天
select trunc(sysdate ,'mm') from dual --本月第一天
&nbs ......