PL/SQL编程语言

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35387891/article/details/81229977

一.什么是PL/SQL?

PL/SQL(Procedure Language/SQL)

示例1:为职工涨工资,每人涨10%的工资。
update emp set sal = sql * 1.1
示例2:按职工的职称涨工资,总裁涨1000元,经理涨800元,其他人员涨400元。
这样的需求无法用一条SQL语句来实现,需要借助其他程序来帮助完成,也可以使用PL/SQL。

二.PL/SQL的语法

declare
    说明部分(变量说明,光标说明,例外说明)
begin
    语句序列
exception
    例外处理语句
End;

三.常量和变量的定义

说明变量(char, varchar2, date, number, boolean, long)
var1 char(15);说明变量名,数据类型和长度后用分号结束说明语句。
married boolean :=true; :=为变量赋值
psal number(7,2);
my_name emp.name%type; 引用型变量,即my_name的类型与 emp表中ename列的类型一样
emp_rec emp%rowtype;记录型变量

引用型变量
declare  
  pename emp.ename%type;
  psal   emp.sal%type;
begin
  select ename,sal into pename,psal from emp where empno=7839;
  dbms_output.put_line(pename||'的薪水是'||psal);
end;
/

打印:KING的薪水是5000

记录型变量
declare
  emp_rec emp%rowtype;
begin
  select * into emp_rec from emp where empno=7839;
  dbms_output.put_line(emp_rec.ename||'的薪水是'||emp_rec.sal);
end;

打印:KING的薪水是5000

四.if语句

示例:如果从控制台输入1则输出我是1,否则输出我不是1
declare
pnum number := # –&直接从地址赋值
begin
if pnum = 1 then
dbms_output.put_line(‘我是1’);
else
dbms_output.put_line(‘我不是1’);
end if;
end;

五.循环

范例:输出1到10的数字

declare 
    step number := 1;
    begin
        while step <=10 loop
    dbms_output.put_line(step);
        step:=step+1;
        end loop;
    end;
    declare
        step number:=1;
    begin
        for step in 1..10 loop
        dbms_output.put_line(step);
        end loop;
        end;
展开阅读全文

没有更多推荐了,返回首页