PL/SQL (一):基础知识

一、什么是PL/SQL
 PL:Procedural language
 SQL:Structured Query Language
 PL/SQL是由Oracle开发,专用于Oracle的一种程序设计语言,对SQL语句的扩展,增加了编程语言的特点
二、优点
1、改善了性能
 以整个语句块发送给服务器端,降低网络拥挤
2、可重用性
 能运行在任何Oracle环境中
3、模块化
 每个PL/SQL单元可以包含一个活多个程序块,程序中的每一块都实现一个逻辑操作,块之间可以使独立活是嵌套。
  

三、块结构
1、组成
1)declare
 定义部分变量,先定义后使用
2)begin
 可执行部分,内容主体,以end结束
3)exception
 异常处理部分,程序异常时的处理动作
2、格式
DECLARE – 可选
 变量、常量、游标、用户自定义的特殊类型
BEGIN – 必须
 SQL 语句
 PL/SQL 语句
EXCEPTION – 可选
 错误发生时的处理动作
END; – 必须
3、块类型
1)匿名块
 只执行一次,不能存储在数据库中
2)过程、函数和包
 是命名的PL/SQL块,存储在数据库中,能被多次执行,可以被外部程序来执行 
3)触发器
 是命名的PL/SQL块,存储在数据库中,当相应的触发事件发生时自动被执行
区别:
 仅执行一动作时定义为过程,计算值时定义为函数
四、变量声明
1、声明语法
 图示

2、%type属性
 参照变量
 好处
  跟数据库类型保持一致
五、表达式
1、函数的应用
   过程语句中的有效函数
 1)单行数字:mod、round、trunc等
 2)单行字符:concat length lower substr等
 3)数据类型转换:to_char to_date to_number等
 4)日期:add_months sysdate months_between等
   无效函数
 1)decode
 2)分组函数(avg min max count sum等)
 备注:在PL/SQL语句中适用
2、事务处理
 事务开始与commit 或 rollback 后的第一个DML语句
 使用commit 和 rollback 语句来终止一个事务
 在事务处理过程中使用savepoint来标记中间点
六、与Oracle的交互
 图
七、使用
1、变量赋值
 v_name := 'sam';
2、输出结果
 dbms_output.put_line('名字是'||v_name);
3、注释
 1)单行注释 :--注释内容
 2)多行注释 :/* 注释内容*/

八、示例代码
1、基本调用

declare 
  c_name constant varchar(20):='sam';  --常量定义要赋初值
  n_name varchar(20) not null := 'abc';  --not null定义也要 赋初值
  
  id int;  --定义
  name varchar(20) :='sam';         
  age number;
  add varchar(20);
begin
   null;
   id := 10;   --赋值
   age := 26;
   
   add := id || name || age;  --  ||:连接字符串 
   dbms_output.put_line('工号:'||id); --输出
   dbms_output.put_line('姓名:'||name);
   dbms_output.put_line('年龄:'||age);
   dbms_output.put_line('汇总:'||chr(10)||add);  --chr(10)换行,
end;

输出结果:
工号:10
姓名:sam
年龄:26
汇总:
10sam26


2、调用数据库

declare 
   id emp.empno%type;   --emp表中empno字段类型一致,%type
   name emp.ename%type; --emp表中ename字段类型一致,%type
   sal emp.sal%type;    --emp表中sal字段类型一致,%type
begin
   select empno,ename,sal into id,name,sal from emp where empno =7369;  --选出员工编号为7369的信息,赋值给id,name,sal
   dbms_output.put_line(id);
   dbms_output.put_line(name);
   dbms_output.put_line(sal);
end;

3、聚集函数

declare
    num number; 
    max_empno emp.empno%type;
begin
   num :=MOD(10,3);
   dbms_output.put_line(num);   --MOD求余,得 1
   
   select max(empno) into max_empno from emp ; --求empno最大值
   dbms_output.put_line(max_empno);
end;


4、事务

--事务
select * from emp ;

begin
    insert into emp(empno) values(1); 
    savepoint a;   --设置保存点 a 
    insert into emp(empno) values(2);  
    savepoint b;     --设置保存点 b 
    rollback to savepoint a;  --回滚至 保存点 a
    commit;          --提交,不可rollback
end;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!对于成都笔试中的PL/SQL准备,我可以为你提供一些指导和建议。PL/SQL是一种过程式编程语言,用于Oracle数据库的开发和管理。下面是一些可以帮助你准备PL/SQL笔试的建议: 1. 理解PL/SQL语法:掌握PL/SQL的基本语法结构,包括变量声明、条件语句、循环语句、游标和异常处理等。熟悉这些基础知识对于理解和编写PL/SQL代码至关重要。 2. 学习SQL语句:PL/SQL是建立在SQL语言基础上的,所以熟悉SQL语句也是非常重要的。掌握SQL查询、插入、更新和删除等基本操作,以及表连接、子查询和聚合函数等高级查询技巧。 3. 理解存储过程和函数PL/SQL的核心概念是存储过程和函数。了解它们的定义、调用和使用方法,以及参数传递、返回值和异常处理等方面的知识。 4. 掌握PL/SQL的高级特性:学习PL/SQL的高级特性,如游标、触发器和包等。了解它们的用途和使用方法,以及与数据库交互和数据处理的相关技巧。 5. 多做练习题和项目实践:通过做一些练习题和实际项目,加深对PL/SQL的理解和应用能力。可以使用在线编程平台或者自己搭建一个本地的Oracle数据库环境。 6. 阅读相关文档和教程:阅读Oracle官方文档和一些相关的教程和书籍,可以帮助你更全面地了解和掌握PL/SQL的知识。 希望以上建议对你有所帮助!祝你在成都笔试中取得好成绩!如果你还有其他问题,可以继续向我提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值