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

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||'


相关文档:

SQL SERVER 2005 远程访问

(适用 SQL Server 2005 其他版本)
收藏



SQL Server 2005 Express 是微软提供的数据库的低端解决方案,
可免费任意随产品分发, 可以在XP等非专业服务器系统下安装, 还可以远程访问, 对于小型数据应用程序已足够满足数据使用要求.
默认安装下,SQL Server ......

【总结】oracle恢复误删除数据,解除锁定的等sql语句

1.曾经不小心把开发库的数据库表全部删除,当时吓的要死。结果找到下面的语句恢复到了1个小时之前的数据!很简单。
注意使用管理员登录系统:
select * from 表名 as of timestamp sysdate-1/12 //查询两个小时前的某表数据!既然两小时以前的数据都得到了,继续怎么做,知道了吧。。

如果drop了表,怎么办??见下 ......

sql 时间函数(转)

sql日期函数(转)
[ 2007-8-23 16:33:00 | By: 步 ]1.一个月第一天的
Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
2.本周的星期一
Select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
3.一年的第一天
Select DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
4.季度的第一天
Select DATEADD(qq, DATEDIFF(qq,0,getdat ......

Oracle 多行转列函数

Oracle中使用WMSYS.WM_CONCAT函数进行多行转列
原数据:
rank   name 
AA      NAME1
AA      NAME2
AA      NAME3 
BB      NAME4
BB      NAME5
SQL>select  trim(t.rank) as rank,
   &nbs ......

关于oracle的小知识

select trunc(sysdate ,'yyyy') from dual   --本年度第一天
              
select trunc(sysdate ,'mm') from dual     --本月第一天
           &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号