Oracle修炼路程--PL/SQL基础语法

常用工具:
1 plsql developer
2 oracle sql developer

PL/SQL是一门为扩展Oracle中SQL功能的编程语言,

常见符号:
|| 字符串连接符
:= 赋值运算符
% 属性索引 使用%type可以使变量获得与字段相同的数据类型
= 相等运算符

1) 变量


SET SERVEROUTPUT ON;
declare
 phello varchar2(200)  :='HELLO WORLD!';--变量定义
begin
    DBMS_OUTPUT.PUT_LINE(phello);--输出
end;

如图java一样,变量可分为局部变量和全局变量;下面举例说明

SET SERVEROUTPUT ON;
declare
number1 varchar2(50) :=12;
number2 varchar2(50) :=23;
begin
DBMS_OUTPUT.PUT_LINE('number1 的数值是:'||number1);
DBMS_OUTPUT.PUT_LINE('number2 的数值是:'||number2);
declare
number3 varchar2(50) :=15;
number4 varchar2(50) :=69;
begin
DBMS_OUTPUT.PUT_LINE('number3 的数值是:'||number3);
DBMS_OUTPUT.PUT_LINE('number4 的数值是:'||number4);
end;
end;

set serveroutput on;
declare
pname varchar2(10);
psex char(3) :='男';

2) 常量

SET SERVEROUTPUT ON;
DECLARE
PI NUMBER;

BEGIN
PI:=3.14;
DBMS_OUTPUT.put_line(PI);
END;

3) SELECT INTO的用法

begin
select ename into pname from emp where empno=7499;
--DBMS_OUTPUT.PUT(psex);
dbms_output.put_line(pname);
end;

--记录型变量:
    --emp_info  emp%rowtype;读取一行数据;

set serveroutput on;
declare
    emp_info  emp%rowtype;
begin

   select * into emp_info from emp where empno=7499;
   dbms_output.put_line(emp_info.ename||'....'||emp_info.empno);

end;

4) 条件控制语句

a)
if 条件 then…;
end if;

b)
if 条件 then…;
else…
end if;

c)
if 条件 then…;
elsif 条件 then…;
else…
end if;

set SERVEROUTPUT ON;
declare
   pnum number:=5;
begin
   if pnum=1 then DBMS_OUTPUT.PUT_LINE('111');
   elsif pnum=3 then DBMS_OUTPUT.PUT_LINE('222');
   else DBMS_OUTPUT.PUT_LINE('错误');
   end if;
end;

SET SERVEROUTPUT ON;
DECLARE
NUM NUMBER :=50;
BEGIN
IF NUM=10 THEN DBMS_OUTPUT.PUT_LINE('the value is 10');
elsif NUM=20 THEN DBMS_OUTPUT.PUT_LINE('the value is 20');
elsif NUM=30 THEN DBMS_OUTPUT.PUT_LINE('the value is 30');
elsif NUM=40 THEN DBMS_OUTPUT.PUT_LINE('the value is 40');
else DBMS_OUTPUT.PUT_LINE('the value is 50');
end if;

END;

b) case 结构

基本结构:
case。。。
when … then…;
when…then…;
else…;
end case;

declare
  score number :=90;
begin
    case score
    when '90' then dbms_output.put_line('The SCORE is A');
    when '80' then dbms_output.put_line('The SCORE is B');
    else dbms_output.put_line('The SCORE is C');
    end case;

end;

5) 循环控制语句
a)
while 条件
loop

end loop;

b)
loop

exit when (i>5,这是退出条件);
end loop;

```sql
set SERVEROUTPUT ON;
declare
pnum number :=1;
psum number :=0;

begin

loop
    exit when pnum>5;
psum :=psum+pnum;
pnum :=pnum+1;
end loop;
dbms_output.put_line(psum);
end;

c)
for i in 1…10
loop
end loop;

declare
begin
for x in 1..5
loop
dbms_output.put_line(x);
end loop;

end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值