pl/sql块

declare 
  v_name varchar2(30) :='t02班级';
begin
 dbms_output.put_line(v_name||'同学们,上午好');
  
end;






声明部分:
declare 
变量名 变量类型(长度) :='变量值';(分号不要忘记)
范例:
v_name varchar2(30) :='t0


变量名 变量类型 default 默认值;(分号不要忘记)
范例:
v_sal number default 10000;


变量名 constant number(4,3) :=0.037 (constant 用来定义一个常量)
范例:
v_income number(10,3) :=0.037;


匹配表中的类型语法
v_name teacher.tname%type;




begin部分
在declare部分 声明了变量,一般在begin部分进行赋值操作 使用into关键字
select tname,sal into v_name,v_sal from teacher where tno = 1004;
解释:查询teacher表 把tno字段等于1004的tname sal 赋值给变量v_name, v_sal


范例:
declare 
  v_sal emp.sal%type;
begin
  select  e.sal into v_sal from emp e where e.ename='SMITH';  
 dbms_output.put_line('scott的薪水是:'||v_sal);
  
end;




begin中的条件控制语法
1.if
if then elsif else end if;
2.case
case when then else end case;


控制语法的实例使用:
 要求 对SMITH的薪水进行判断 
 <2000 临时工
 2000-15000 蓝领
 15000-40000 白领
 >40000 金领


 具体实现代码:
 declare
  v_sal emp.sal%type;
  
begin
  select e.sal
  into v_sal
  from emp e 
  where e.ename='SMITH';
if v_sal<2000 then 
dbms_output.put_line('薪水是:'||v_sal||'是临时工');
elsif v_sal between 2000 and 15000  then 
dbms_output.put_line('薪水是:'||v_sal||'是白领');
elsif v_sal between 15000 and 40000 then
dbms_output.put_line('薪水是:'||v_sal||'是蓝领');
else
dbms_output.put_line('薪水是:'||v_sal||'是金领');
    end if ;(不要忘记这个分号)
end;




循环语法的运用
1.loop使用  普通的循环
loop
end loop;


范例:
declare
v_start number :=0;
begin
 loop
   insert into dept values(序列.nextval,
   '部门'||v_start, '地址 '||v_start)
   v_start :=v_start+1;
  exit when v_start >100;
  end loop;
end;


2.while 循环
while 条件 loop
变量赋值
end loop;


范例:(部分代码)
while v_temp <100 loop
v_max_deptnum := v_max_deptnum+1;
insert into dept_loop
values(sq_dept_loop.nextval,'部门');
v_temp:=v_temp+1;
end loop;




3.for 循环(优势 变量不用声明)
for loop
end loop;
范例:
for v_temp in v_max_deptnum+1..v_max_deptnum1+100 
loop
insert into dept_loop
values(sq_dept_loop.nextval,'部门');
end loop;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值