`
luhai1992
  • 浏览: 56895 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

oracle PL/SQL 基础

阅读更多

PL/SQL

一、PLSQL 变量

set serveroutput on;

declare v_num number :=0;--变量名一般以v开头

begin

    v_num:=2/v_num; --这句因为除数为0会报错。

    dbms_output.put_line(v_num);  

end;

/

 

异常处理:

set serveroutput on;

declare v_num number :=0;

begin

    v_num:=2/v_num;

    dbms_output.put_line(v_num);

    exception

    when others then

    dbms_output.put_line('错误');

end;

/

 

 变量类型

 binary_integer: 整数,主要用来计数而不是用来表示字段类型

 number 数字类型

 char 定长字符串

 varchar2 变长字符串

 date 日期

 long 长字符串,最长2G

 boolean 布尔类型,可以取值为truefalse ,和null

声明变量:

 set serveroutput on;

declare v_num number :=0;

  v_bl boolean :=false;

begin

    dbms_output.put_line('s');

end;

/

 

注意:declare 放在变量声明的最前面,无论声明多少个变量仅可放一个declare

     boolean 类型的变量是不能通过dbms_output.put_line()打印出来的。

得到表中字段类型

%type

set serveroutput on;

declare v_num number :=0;

  v_blnum v_num%type := v_num;

begin

    dbms_output.put_line(v_blnum);

end;

/

Record 类型:

 

set serveroutput on;

declare type type_record is record

(

    name1 varchar(20),

    age number

);

v_type_record type_record;

 

begin

    v_type_record.name1:='nihaoname';

    v_type_record.age:=23;

    dbms_output.put_line(v_type_record.name1||' '||v_type_record.age);

end;

/

使用%rowtype声明record 变量(将对应表的所有类型作为该变量的成员)

set serveroutput on;

declare

 v_school school%rowtype;

begin

    v_school.name1:='nama';

    v_school.age:='age';

    dbms_output.put_line(v_school.name1||v_school.age);

end;

 

二、PL/SQL中的sql

1.       Insert 语句

Insert 语句必须要有返回值且只有一条返回。

Insert 语句中必须有into 将查到的数据放入到对应的变量中。注意into两边的值的个数要相同。

Into 后可以传入一个record类型的变量,用于将查询出来的值放入到该变量中。

set serveroutput on;

declare

v_school  school%rowtype;

begin

    select name1 ,age into v_school from school;

    dbms_output.put_line(v_school.name1);

end;

/

2.       Update 语句

sql%rowcount 得到刚刚执行sql影响的行数。

 

set serveroutput on;

declare

v_school  school%rowtype;

begin

     update school set name1='tes2t' where name1='s' ;

    dbms_output.put_line(sql%rowcount||'ss');

    commit;

end;

/

3.       执行DDL 语句

pl/sql 中执行sql语句方法

 

三、判断语句

set serveroutput on;

declare

v_num number(20) :=1399;

begin

    if (v_num <1200) then

    dbms_output.put_line('low');

    elsif(v_num<1800) then

    dbms_output.put_line('middle');

    else

    dbms_output.put_line('high');

    end if;

end;

/

四、循环

set serveroutput on;

declare

i number(20) :=1;

begin

    loop

    dbms_output.put_line('nihao'||i);

    i:=i+1;

    exit when (i>=5);font-family: Courier; background: white; color: black;

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics