存储过程——申明与赋值

PL/SQL程序可划分成称为块的结构,每一个块都包含PL/SQL和SQL语句。PL/SQL代码块包含以下结构:

declare
--申明部分
begin
--执行部分
end;

最简单的程序输出之万物可Hello World

declare
begin
  dbms_output.put_line('Hello World');
  end;

根据给出的矩形的面积和高度计算其宽度,定义变量 变量赋值 申明变量的时候可以赋初始值,定义常量constant时,常量是不可变并且必须赋初始值

 declare
v_width	integer;
v_height	integer:= 3;
v_area integer:= 12;
begin
v_width := v_area / v_height;
dbms_output.put_line('v_width = ' || v_width);
exception
  when ZERO_DIVIDE then
    dbms_output.put_line('Division by zero');
end;

定义常量constant

declare
v_pi constant number := 3.14;
v_r number := 3;
v_area number;
 begin
   v_area := v_pi*v_r*v_r;
   dbms_output.put_line('v_area = ' || v_area);
   end;

字符日期数据类型变量

declare
v_name varchar2(30) := '张三';
v_date date := sysdate;
begin
  dbms_output.put_line('v_name = ' || v_name);
  dbms_output.put_line('v_date = ' || v_date);
  end;

隐式游标及其特性 只能返回一行数据 返回多行或者没有数据都会报错

declare
v_name varchar2(30);
v_sal number;
begin
  select ename,sal into v_name,v_sal from emp where empno = 7499;
  dbms_output.put_line('v_name = ' || v_name);
  dbms_output.put_line('v_sal = ' || v_sal);
  dbms_output.put_line(v_name ||'薪水是 '|| v_sal);
  end;

隐式游标 防报错 加聚合函数

declare
v_name varchar2(30);
v_sal number;
begin
  select max(ename),max(sal) into v_name,v_sal from emp ;
  dbms_output.put_line('v_name = ' || v_name);
  dbms_output.put_line('v_sal = ' || v_sal);
  dbms_output.put_line(v_name ||'薪水是 '|| v_sal);
  end;

%type/%rowtype 定义数据类型
%type 引用数据库中的某列的数据类型或某个变量的数据类型
%rowtype 引用数据库中的一行作为数据类型

 declare
v_name emp.ename%type ;
v_sal emp.sal%type;
begin
  select max(ename),max(sal) into v_name,v_sal from emp ;
  dbms_output.put_line('v_name = ' || v_name);
  dbms_output.put_line('v_sal = ' || v_sal);
  dbms_output.put_line(v_name ||'薪水是 '|| v_sal);
  end;
declare
v_all emp%rowtype;
begin
   select ename,sal into v_all.ename,v_all.sal from emp where empno = 7499;
  dbms_output.put_line('v_name = ' || v_all.ename);
  dbms_output.put_line('v_sal = ' || v_all.sal);
  dbms_output.put_line(v_all.ename ||'薪水是 '|| v_all.sal);
  end;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值