PL/SQL编程语言

一.什么是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;
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值