PL/SQL编程

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

/*by lby
为员工长工资。从最低工资调起每人长10%,但工资总额不能超过5万元,
请计算长工资的人数和长工资后的工资总额,并输出输出长工资人数及工资总额。
 
用到的sql:
select empno,sal from emp order by sal;
select sum(sal) from emp;
update emp set sal = sal + sal*0.1 where empno = ?;
*/
set serveroutput on
declare
  cursor cemp is select empno,sal from emp order by sal;
  --相对应的变量
  pempno emp.empno% TYPE;
  psal   emp.sal% TYPE;
   
  --保存工资总额
  ptotalSal NUMBER;
  --计算器保存涨工资的人数
  pcount number;
begin
  --初始化工资总额
  select sum(sal) into ptotalSal from emp;
  pcount := 0;
   
  open cemp;
  loop
 
   exit when ptotalSal> 60000;
    fetch cemp into pempno,psal;
    exit when cemp%notfound;
 
    ptotalSal := ptotalSal + psal*0.1;
    if ptotalSal>60000 then
    ptotalSal := ptotalSal- psal*0.1;
    exit ;
     
    else
    update emp set sal=sal*1.1 where empno=pempno;
    pcount := pcount + 1;
  end if;
   
  end loop;
  close cemp;
   
  commit;
   
  dbms_output.put_line('工资总额:'||ptotalSal);
  dbms_output.put_line('涨工资的人数'||pcount);
end;
/

时间: 2024-10-31 22:55:48

PL/SQL编程的相关文章

Oracle PL/SQL编程规范指南

一.PL/SQL编程规范之大小写 就像在SQL中一样,PL / SQL中是不区分大小写的.其一般准则如下: 关键字(BEGIN, EXCEPTION, END, IF THEN ELSE,LOOP, END LOOP).数据类型(VARCHAR2, NUMBER). 内部函数(LEAST, SUBSTR)和用户定义的子程序(procedures, functions,packages),使用大写. 变量名以及SQL中的列名和表名,使用小写. 二.PL/SQL编程规范之空白 空白(空行和空格)在P

有关pl/sql编程的简单问题

问题描述 有关pl/sql编程的简单问题 declare my_name VARCHAR2(10):='张三';begin if length(my_name)<=2 THEN dbms_output.put_line('我的名字是两个字!');end; 解决方案 缺少'end if;' 解决方案二: declare type v_record is RECORD ( v_name emp.ename% TYPE; v_salary emp.sal% TYPE; v_job emp.job% T

【强烈强烈推荐】《ORACLE PL/SQL编程详解》全原创(共八篇)--系列文章导航

原文:[强烈强烈推荐]<ORACLE PL/SQL编程详解>全原创(共八篇)--系列文章导航 <ORACLE PL/SQL编程详解>    系列文章目录导航     --通过知识共享树立个人品牌.           本是成书的,但后来做其他事了,就无偿的贡献出来,被读者夸其目前为止最"实在.经典"的写ORACLE PL/SQL编程的文章-!   觉得对你有帮助,请留言与猛点推荐,谢谢.     [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序

ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)

原文:ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) ORACLE PL/SQL编程之六: 把过程与函数说透(穷追猛打,把根儿都拔起!)   继上篇:ORACLE PL/SQL编程之八:把触发器说透 得到了大家的强力支持,感谢.接下来再下猛药,介绍下一篇,大家一定要支持与推荐呀~!我也才有动力写后面的.   本篇主要内容如下: 6.1 引言 6.2 创建函数 6.3 存储过程 6.3.1 创建过程 6.3.2 调用存储过程 6.3.3 AUTHID 6.3.4 

[推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)

原文:[推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]ORACLE PL/SQL编程之四: 把游标说透(不怕做不到,只怕想不到)       继上两篇:ORACLE PL/SQL编程之八:把触发器说透             ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)  得到了大家的强力支持,感谢.接下来再下猛药,介绍下一篇,大家一定要支持与推荐呀~!我也才有动力写后面的.     本篇主要内容如下: 4.1 游标概

[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)

原文:[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!) [强烈推荐]ORACLE PL/SQL编程详解之七:   程序包的创建与应用(聪明在于学习,天才在于积累!) --通过知识共享树立个人品牌.     继上七篇:            [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)            [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,

[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)

原文:[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下) [推荐]ORACLE PL/SQL编程详解之一: PL/SQL 程序设计简介(千里之行,始于足下) --通过知识共享树立个人品牌. 继上六篇:        [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)        [推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆)        [推荐]ORA

[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)

原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆)       继上三篇:ORACLE PL/SQL编程之八:把触发器说透               ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)               [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)  得到了大家的强力支持与建议,万分感谢.

[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)

原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)  [顶]ORACLE PL/SQL编程详解之二:   PL/SQL块结构和组成元素(为山九仞,岂一日之功)     继上四篇:ORACLE PL/SQL编程之八:把触发器说透                ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)                [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不

pl sql-关于pl/sql编程的问题

问题描述 关于pl/sql编程的问题 看看这个程序哪错了,本人刚学,啥也不会. CREATE OR REPLACE PROCEDURE lvkaihua1 ( C_NAME VARCHAR2, C_PASSWORD VARCHAR2, FLAG OUT NUMBER) IS COUNTS NUMBER; PCOUNTS NUMBER; BEGIN SELECT COUNT(*) INTO COUNTS FROM USERS WHERE USERS=C_NAME; IF COUNTS>0 THEN