PL/SQL基本语法

Oracle PL/SQL基本语法:
declare(可选,声明变量或光标)
begin(必需,从此处开始执行语句)
exception(异常)
end;(必需,从此处结束分号不能省略)

PL/SQL的两种赋值方式:
1. :=
2. into

例子 一:(基本类型变量)
declare
pname varchar2(20);
page number(10);
pdate date;
begin
pname := ‘kin’;
page :=20;
pdate := sysdate;
dbms_output.put_line(pname);
dbms_output.put_line(page);
dbms_output.put_line(pdate);
dbms_output.put_line(pdate+1);
end;

注意:
1.dbms_output.put_line();//输出数据
2.pdate+1;//加一表示明天

例子 二:(引用型变量)查询编号为7839的员工姓名和薪资
declare
pname emp.ename%type; //pname变量的类型为emp表格中ename字段的类型
psal emp.sal%type;
begin
select ename,sal into pname,psal from emp where empno=7839;
dbms_output.put_line(pname||’薪水是’||psal);
end;

注意:
1.into前面的变量顺序和后面的变量顺序一定要一直;
2.||为连接符

例子三:(记录型变量)查询编号为7839的员工姓名和薪资
declare
emp_rec emp%rowtype; //emp_rec变量类型为emp表格一行内容,即为一个数组
begin
select * into emp_rec from emp where empno=7839;
dbms_output.put_line(emp_rec.ename||’薪水是’||emp_rec.sal);
end;

PL/SQL的面向过程语言:
IF判断语句:(判断用户从键盘输入的数字)
if 判断条件… then 执行语句…elsif 判断条件…then 执行语句2…else 以上条件都不满足执行…end if;、

–接受键盘上输入的数字,num表示一个地址值,在该地址上保存输入的值
accept num prompt’请输入一个数字:’;
declare
–定义变量并保存从键盘上输入的值
pnum number := #
begin
if pnum = 0 then dbms_output.put_line(‘数字为0’);
elsif pnum =1 then dbms_output.put_line(‘数字为1’);
elsif pnum = 2 then dbms_output.put_line(‘数字为2’);
else dbms_output.put_line(‘其他数字’);
end if;
end;

注意:
pnum =1 表示判断的句子,不是赋值的意思。

while循环语句:(循环输出1-10)
while 判断条件 loop 循环体 end loop;

例子:
declare
–给变量初始化值
pnum number := 1;
begin
while pnum <=10 loop
dbms_output.put_line(pnum);
–自增
pnum := pnum+1;
end loop;
end;

注意:
pnum :=pnum+1表示每循环一次加1,即自增。不能pnum++;这样写

loop循环:(推荐使用)(循环输出1-10)
loop exit when 循环条件;循环体;end loop;

例子 一:
declare
–给变量初始化值
pnum number := 1;
begin
loop exit when pnum >10;
dbms_output.put_line(pnum);
–自增
pnum := pnum+1;
end loop;
end;
例子二:(循环输出20-10)
declare
–给变量初始化值
pnum number := 20;
begin
loop exit when pnum <10;
dbms_output.put_line(pnum);
–自增
pnum := pnum-1;
end loop;
end;

注意:
loop循环是:符合条件退出循环;
while循环是:符合条件执行循环体。

for循环:(循环输出1-10)
for 变量 in 变量范围 (必须是连续的区间) loop 循环体;end loop;

例子:
declare
–声明变量
pnum number;
begin
for pnum in 1..10 loop
dbms_output.put_line(pnum);
end loop;
end;

注意:
in后面是变量的范围必须是连续的区间。(并且只能是升序,降序打印不出数据)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值