PL/SQL简介

PL/SQL:Procedural Laguage/SQL 在标准的SQL基础上增加了过程化处理的语言
SQL:Structured Querey Language 是一种对关系数据库管理系统(RDBMS)进行操作的标准结构化语言

SQL本身不支持对已有结果的进一步查询,PL/SQL正是一种增加了过程化处理的语言。它具有标准SQL没有的几个特征:变量、结构控制语句、自定义的存储过程和函数、对象类型

例:
1,找出名字叫小红的作家的文章的id和性别
2,如果小红是女的那么查出小红有几本书

DECLARE
/*定义变量*/
v_Sex number;
v_AutherCode varchar;
v_Archount number;
BEGIN
/*查询表中数据*/
select article_code,sex INTO
v_AutherCode,v_Sex from auths where name='小红';

/*检查该作家是否是女作家,是的话查出文章数目*/
IF v_Sex=0 THEN
select count( article_code) INTO
v_Archount from auths
where article_code='A00001'; //A00001为查出来的文章号
END IF;
END;

PL/SQL的特性:块结构、变量和常量、循环结构、游标

1,块结构:是PL/SQL程序的基本执行单元
DECLARE
/*可定义变量、声明常量、定义游标和局部子程序 不是必须的*/
BEGIN
/*可执行的SQL语句 必不可少的*/
EXCEPTION
/*异常处理部分 可选部分*/
END;

2,变量和常量:PL/SQL和oracle之间是通过变量来实现数据交换的,变量是一个储存空间,它在程序中取出数据或传入数据到程序中
3,循环结构:循环结构用来重复的执行块中的语句
例:将数字1到100插入到表test中

DECLARE
v_LoopCounter BINARY_INTEGER :=1;
BEGIN
LOOP
insert into test(num) values( v_LoopCounter );
v_LoopCounter := v_LoopCounter +1;
EXIT where v_LoopCounter >100;
END LOOP;
END;

DECLARE
v_LoopCounter BINARY_INTEGER :=1;
BEGIN
FOR v_LoopCounter IN (1..50) LOOP
insert into test(num) values( v_LoopCounter );
END LOOP;
END;

4,游标:游标用来查询数据库中的数据,并对查询的结果进行处理。通过游标可以对查询结果中的数据进行一条一条处理

DECLARE
v_Name varchar(20);
v_Salary number(8,2);

CURSOR c_Auths is
select name,salary from auths;

BEGIN
OPEN c_Auths ;
LOOP
FETCH c_Auths INTO v_Name , v_Salary ;
EXIT WHERE v_Salary %NOTFOUND;
END LOOP;
CLOSE c_Auths ;
END;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值