Oracle 数据库 Plsql的基本语句

一 . Plsql的基本语句

  1. p :procedure l: language sql: 结构化查询语言
    plsql 过程化语言: 在原来的基础上,新增 if ,循环语句;web

  2. 基本结构
    declare --声明
    声明变量
    begin
    plsql 过程化语言;
    [exception
    捕获异常,处理异常, others]
    end;sql

  3. 声明变量
    declare
    – 声明普通的变量
    i number;
    j number default 200;
    – 引用类型:该变量引入某表某列的类型
    pname emp.ename%type;
    pjob emp.job%type;
    – 记录类型: 能够表示一行的类型
    e_row emp%rowtype;
    begin
    – 赋值方法一
    i := 100;
    – 打印语句
    dbms_output.put_line(i);
    – 在oracle中只有数值才能够相加
    – 字符串之间的链接:||
    dbms_output.put_line(‘j=’||j);
    – 经过SQL语句查询出来的值,赋值某变量
    – 赋值方法二: select into ,只能处理返回一行记录,若是返回null行,或者多行都会报错
    select ename into pname from emp where empno = 7788;
    dbms_output.put_line(‘pname=’||pname);
    select ename,job into pname,pjob from emp where empno = 7788;
    dbms_output.put_line(‘pname=’||pname);
    dbms_output.put_line(‘pjob=’||pjob);
    – 查询的是全部的列,使用行类型接收全部的值
    select * into e_row from emp where empno = 7788;
    dbms_output.put_line(‘pname=’||e_row.ename);
    dbms_output.put_line(‘pjob=’||e_row.job);
    dbms_output.put_line(‘hiredate=’||e_row.hiredate);
    exception
    when others then
    dbms_output.put_line(‘找不到记录’);
    end;
    4.if 语句
    /*
    if 条件 then
    sql语句;
    end if;oracle

    if 条件 then
     	sql语句;
     else 
     	sql语句;
     end if;
     
     if 条件 then
     	sql语句;
     elsif 条件 then
     	sql语句;
     elsif 条件 then
     	sql语句;
     	......
     else 
     	sql语句;
     end if;

    */
    栗子:从控制台输入一个整数,打印正数,负数,零;
    declare
    –声明一个变量
    i number;
    begin
    i := &请输入;
    if i > 0 then
    dbms_output.put_line(‘正数’);
    elsif i < 0 then
    dbms_output.put_line(‘负数’);
    else
    dbms_output.put_line(‘零’);
    end if;
    end;svg

  4. 循环
    /*
    for i in 集合|游标 loop
    循环体;
    end loop;
    /
    栗子:打印1-10全部的整数
    declare
    begin
    for i in 1…10 loop
    dbms_output.put_line(i);
    end loop;
    end;
    /

    int i = 0;
    while(true){
    输入i
    if(i == 10){
    break;
    }
    i ++;
    }
    声明变量i
    loop
    输出i
    exit when 条件;
    i++ ; – i:= i+1;
    end loop;oop

    /
    栗子:打印1-10全部的整数
    declare
    i number default 1;
    begin
    loop
    dbms_output.put_line(i);
    exit when i = 10;
    i := i + 1;
    end loop;
    end;
    /

    while(条件){
    循环体;
    i ++;
    }
    while 条件 loop
    循环体;
    i ++;
    end loop;
    */
    栗子:打印1-10全部的整数
    declare
    i number default 1;
    begin
    while i <= 10 loop
    dbms_output.put_line(i);
    i := i + 1;
    end loop;
    end;.net

Oracle 视图,索引code