笔记FIVE

2019-03-12  本文已影响0人  喵个酱

pl/sql

1、pl/sql是对sql语言的拓展,在之前所学sql的基础上添加了一些编程语言的特性。所以它是把数据操作和查询语句组织在过程化单元里面,通过逻辑判断、循环等实现复杂功能或者计算。

例子:对员工表涨工资

           通过每个人的身份证号知道每个人的生日

2、pl/sql可以更高效、更方便地操作数据库,功能更加强大。

后面的触发器、过程、函数要以pl/sql为基础。

3、declare——说明部分(定义变量)

(如果没有说明部分,可以不用写这个部分)

begin——执行部分

end;

/

案例一:通过pl/sql输出helloworld

begin

    dbms_output.put_line('HelloWorld');

end;

/

变量定义:

基本变量    char    varchar2    date    number    boolean    long

java:int a=10;

pl/sql:    psal number:=1000;

pb boolean;

案例:使用基本数据类型

declace

    pename varchar2(20);

    pnumber number;

    pdate date;

begin

    pname:='李四';

    pnumber:=1000;

    pdate:=sysdate;

    dbms_output.put_line(pname||'  '||pnumber);

    dbms_output.put_line('系统当前时间是'||pdate);

    dbms_output.put_line(pdate+1);

end;

/

引用型变量

pname briup_emp.ename%type;

将ename的数据类型复制给pname

案例:查询员工表中编号为1的员工姓名和工资。

declare 

    pname briup_emp.ename%type;

    psal briup_emp.sal%type;

begin

    select ename,sal into pname,psal from briup_emp where empno=1;

    dbms_output.put_line(pname||'的工资是'||psal);

end;

/

记录型变量    举例:emp_res briup_emp%rowtype;(有多项)

查询员工表中编号为1的员工的所有信息。

declare

    emp_res briup_emp%rowtype;

begin

    select * into emp_res from briup_emp where empno=1;

    dbms_output.put_line('编号为'||emp_res.empno||'的'||emp_res.ename||'工资是'||emp_res.sal||'工种是'||emp_res.job);

end;

/

if else语句

if 条件 then 执行语句;

end if

if a>10 then dbms_output.put_line('helloworld');

elsif 条件2 then 执行语句;

else 执行语句;

end if;

让用户通过键盘录入数据。

accept num prompt('请输入一个数字');

declare

    pnumber number:=#

begin

    if pnumber=1 then dbms_output.put_line('输入的数字是1');

    elsif pnumber=2 then dbms_output.put_line('输入的数字是2');

    else dbms_output.put_line('输入的是其他数字');

    end if;

end;

/

上一篇下一篇

猜你喜欢

热点阅读