欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle PL/SQL基本语法汇总

程序员文章站 2022-07-05 23:35:11
Oracle PL/SQL基本语法: declare(可选,声明变量或光标) begin(必需,从此处开始执行语句) exception(异常) end;(必需,从此处结束...

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后面是变量的范围必须是连续的区间。(并且只能是升序,降序打印不出数据)