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||'
相关文档:
1.曾经不小心把开发库的数据库表全部删除,当时吓的要死。结果找到下面的语句恢复到了1个小时之前的数据!很简单。
注意使用管理员登录系统:
select * from 表名 as of timestamp sysdate-1/12 //查询两个小时前的某表数据!既然两小时以前的数据都得到了,继续怎么做,知道了吧。。
如果drop了表,怎么办??见下 ......
执行 数据库查询时,有完整查询和模糊查询之分。
一般模糊语句如下:
SELECT 字段 from 表 WHERE 某字段 Like 条件
其中关于条件,SQL提供了四种匹配模式:
1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请运用两个百分号(%%)表示。
比如 SELECT * from [user] WHERE u_na ......
查看锁表进程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 ......
我的myeclipse是6.5版, oracle是10.2.0.1的中文版.
myeclipse启动是英文的,DB Browser死活连不上oracle,报两个错误(具体不记得了).后来看了如下文章,知道了原因。
---------------------------------------------------------------------------------------------------------------------------
Hi,
a ......
【示例1.1】 查询雇员编号为7788的雇员姓名和工资。
步骤1:用SCOTT/TIGER账户登录SQL*Plus。
步骤2:在输入区输入以下程序:
/*这是一个简单的示例程序*/
SET SERVEROUTPUT ON
DECLARE--定义部分标识
v_name VARCHAR2 ......