怎删改查pl/sql包

原创 2012年03月29日 13:48:44
1、创建表test,表定义如下:
empno number(2),
ename varchar2(10),
sal number(7,2)
empno是主健 
2、创建包的声明test_pak,内容包含add_user过程、del_user过程(根据empno值删除用户)、add_sal函数(根据

empno值确定用户,增加员工工资,并返回该用户的工资)
3、创建包体,实现上述定义 
4、调用上述的每部分,验证正确性

包体--------------------------------------------------
create or replace package body test_pak 
IS
  PROCEDURE add_user(
      no   test_zuoye.empno%TYPE,
      nam   test_zuoye.ename%TYPE,
      sal   test_zuoye.sal%TYPE
                     )
  IS
  BEGIN
  INSERT INTO test_zuoye VALUES(no,nam,sal);
  COMMIT;
  END add_user;
  
   PROCEDURE del_user(
     no   test_zuoye.empno%TYPE
                                 )
    IS
  BEGIN
  DELETE FROM test_zuoye WHERE empno = no;
  COMMIT;
  END del_user;
  
   PROCEDURE add_sal (
          no test_zuoye.empno%TYPE,
          sasl test_zuoye.ename%TYPE,
          salary OUT test_zuoye.sal%TYPE
                     )
   IS
   var test_zuoye.ename%TYPE;
  BEGIN
  UPDATE test_zuoye SET sal = sasl +sal
  WHERE empno = no;
  SELECT sal 
  INTO var
  FROM test_zuoye WHERE empno = no;
  salary := var;
    EXCEPTION  -------------------------------异常处理,如果没有找到数据打印下面的内容
  WHEN NO_DATA_FOUND THEN
  dbms_output.put_line('没有找到数据');
  END add_sal;

end test_pak;
包头-------------------------------------------------------
create or replace package test_pak IS
       PROCEDURE add_user(
      no   test_zuoye.empno%TYPE,
      nam   test_zuoye.ename%TYPE,
      sal   test_zuoye.sal%TYPE
                     );
         PROCEDURE del_user(
     no   test_zuoye.empno%TYPE
                                 );
         PROCEDURE add_sal (
          no test_zuoye.empno%TYPE,
          sasl test_zuoye.ename%TYPE,
          salary OUT test_zuoye.sal%TYPE
                     );             
end test_pak;
测试-------------------------------------------------------
declare 
  
  var test_zuoye.sal%TYPE;
begin
-- test_pak.add_user(2,'kitty',3000);
  --  test_pak.del_user(1);
    test_pak.add_sal(2,50,var);
  
end;
---------------------------当添加工资找不到数据室打印
没有找到数据




 

oracle(pl/sql)包、存储过程的增、删、查、改等操作的实现(源代码)

--创建存储过程 create or replace package pkg_rights is        -- Author : Keleesy        -- Created : 2...

Oracle速查语法:PL/SQL

目录 基本结构 游标 PL/SQL表 PL/SQL 记录类型 REF 游标 过程 函数 数据包 触发器 自定义对象 其他 PL/SQL 结构DECLARE --声明部分 ...
  • wx11055
  • wx11055
  • 2016年11月04日 23:54
  • 984

ORACLE PL/SQL编程之八:把触发器说透(写的太长了,建议没事的时候看,想快速查怎么用触发器的不要看)

把触发器说透    大家一定要评论呀,感谢!光发表就花了我将近一个下午。 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器...

PL/SQL developer中文语言包

  • 2014年04月10日 10:58
  • 566KB
  • 下载

PL/SQL入门——基础的增删改查

最近由于做毕设,又重新看了一遍王珊和萨师煊老师编写的《数据库原理概论》(第四版),再利用PL/SQL将书中最基础的增删改查实现了一遍 所有操作是对以下三个表进行的 学生表Student ...

PL/SQL 9.0 安装包及注册码

  • 2011年08月31日 14:53
  • 23.09MB
  • 下载

PL/SQL Developer V7.1.5英文安装包

  • 2010年01月10日 16:45
  • 15.76MB
  • 下载

Oracle-mapper文件 And PL/SQL中的-批量-增 删 改 查

增:Add PL/SQL客户端: //批量添加 --字段一样多,命名可以不一样 --PA_TEMP_MATERIAL_DEAL 表是PA_MATERIAL_DEAL表的临时表 insert i...

PL/SQL Developer V7.1.5汉化包

  • 2010年01月10日 16:42
  • 8.71MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:怎删改查pl/sql包
举报原因:
原因补充:

(最多只允许输入30个字)