PL/SQL

什么是PL/SQL
一种过程化的语言,通过增加编程语言的特点,实现对SQL的扩展
PL/SQL的特点:
1、支持所有SQL的语法
2、支持case语句,方便了实现循环
3、通过继承,实现子类具有父类的属性和方法
4、设置了新的日期类型
声明:
使用declare关键字
用于定义变量或者常量
declare demo varchar2(200) :='abc';
命名规则:
变量命名规则:
变量名首字母必须是英文字母,其后可以是英文字母、数字或者特殊字符$、#和下划线
变量长度不能出现30个字符且不能有空格
表达式和运算符:
表达式的分类
数值型
字符型
日期型
布尔型
运算符分类
算术运算符
关系运算符
逻辑运算符
其他运算符
流程控制:
set serveroutput on;
declare a number :=4;
        b number :=6;
begin
  if a+b>5 then
  dbms_output.put_line(a||'加'|| b||'大于5');
  else
  dbms_output.put_line(a||'加'||b||'小于等于5');
  end if;
end ;
declare num1 number:=30;
       num2 number:=30;
begin
   if num1+num2>50 then
   dbms_output.put_line(num1||'加'||num2||'大于50');
   elsif num1+num2=50 then
   dbms_output.put_line(num1||'加'||num2||'等于50');
   else
   dbms_output.put_line(num1||'加'||num2||'小于50');
   end if;
end ;
set serveroutput on;
declare d_no number:=8;
       d_name varchar2(20);
 BEGIN
   case d_no
   when 1 then d_name:='农夫山泉';
   when 2 then d_name:='怡宝';
   when 3 then d_name:='百岁山';
   when 4 then d_name:='娃哈哈';
   when 5 then d_name:='康师傅';
   when 6 then d_name:='恒大冰泉';
   when 7 then d_name:='蝴蝶泉';
   else d_name:='自来水';
   end case;
   dbms_output.put_line('你选择的是'||d_name);
 end ;
循环语句:
set serveroutput on;
declare num number :=1;
begin
   loop
    if num<=10 then
     dbms_output.put_line(num);
     num:=num+1;
     else 
      exit;
    end if;
  end loop;
end;
set serveroutput on;
declare count_ number:=1;
begin 
--使用while loop循环
--while条件
  while count_<=10
  loop
     dbms_output.put_line(count_);
     count_:=count_+1;
  end loop;
end;
set serveroutput on;
declare count_ number;
begin
--reverse实现倒序
    for count_ in REVERSE 1..10
    loop
     dbms_output.put_line(count_);
    end loop;
end;
PL常用的变量类型:
1、binary_integer:整数,主要用来计数而不是来表示字段类型
2、number:数字字符
3、char:定长字符串
4、varchar2:变长字符串
5、date:日期
6、long:长字符串,最长2GB
7、boolean:布尔类型,可以取值true|false和null值
异常:

set serveroutput on;
declare n number :=5;
   o VARCHAR2(200);
begin
     case n
     when 1 then o:='1';
     when 2 then o:='2';
     end case;
     exception
     when case_not_found then dbms_output.put_line('没有匹配的条件');
end ;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值