首页 > 代码库 > PL/SQL程序设计基础语法详解(一)
PL/SQL程序设计基础语法详解(一)
一.什么是PL/SQL(Procedure Language/SQL)
概念:PLSQL是Oracle对sql语言的过程化扩展
指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力。
PL/SQL的结构:
declare
说明部分 (变量说明,光标申明,例外说明 〕
begin
语句序列 (DML语句〕…
exception
例外处理语句
End;
简单的PL/SQL程序
如果是在命令行中需要使用 set serveroutput on先打开显示
declare
--声明变量
begin
-- 程序执行的主体
dbms_output.put_line(‘Hello World‘); --输出语句
end;
二.PL/SQL程序的基本语法
1.常量和变量
2.变量类型
3.引用型变量和记录型变量的使用
引用型变量的使用
-- 查询并打印7839的姓名和薪水
declare
-- 定义姓名和薪水的变量
pname emp.ename%type; --即引用emp表中ename列的类型
psal emp.sal%type; --即引用emp表中sal列的类型
begin
-- 查询语句 赋值的两种方式 1.:= 2. into关键字
select ename,sal into pname,psal from emp where empno=‘7839‘;
dbms_output.put_line(pname ||‘的薪水是‘|| psal);
end;
记录型变量
-- 查询并打印7839的姓名和薪水
declare
-- 定义记录型变量,代表一行
dec_emp emp%rowtype; --即记录了emp表中一行的类型,使用的时候直接.调用
begin
-- 查询语句
select * into dec_emp from emp where empno=‘7839‘;
--使用的时候 dec_emp.sal 变量名.列名
dbms_output.put_line(dec_emp.ename ||‘的薪水是‘|| dec_emp.sal);
end;
3.if语句
三种格式:
格式一:
IF 条件 THEN 语句1;
语句2;
END IF;
格式二:
IF 条件 THEN 语句序列1;
ESLE 语句序列 2;
END IF;
格式三(主要使用这种):
IF 条件 THEN 语句;
ELSIF 条件 THEN 语句;
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;
4.循环语句
格式一:
WHILE 条件
LOOP
语句序列;
END LOOP;
-----------------------------------------------
例如:
WHILE total <= 25000
LOOP
.. .
total : = total + salary;
END LOOP;
格式二(主要使用这种,EXIT的地方容易理解):
Loop
EXIT [when 条件];
语句序列
End loop
格式三:
FOR I IN 1 . . 3
LOOP
语句序列 ;
END LOOP ;
-- 打印1~10的数字
declare
pnum number := 1;
begin
loop
--循环
--退出条件
exit when pnum > 10;
dbms_output.put_line(pnum);
-- 加1
pnum := pnum + 1;
end loop;
end;
以上就是PL/SQL程序设计基础语法详解(一)的全部内容了,更多内容请关注:CPP学习网_CPP大学
本文固定链接:CPP学习网_CPP大学-PL/SQL程序设计基础语法详解(一)
本文固定链接:CPP学习网_CPP大学-PL/SQL程序设计基础语法详解(一)
PL/SQL程序设计基础语法详解(一)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。