跳转至

PL/SQL 入门与环境配置

本章作为 全书的第 1 章,面向 零基础或刚接触 Oracle / PL/SQL 的新人,目标是:

  • 快速理解 PL/SQL 是什么、解决什么问题
  • 搭建一个 能运行 PL/SQL 的最小环境
  • 建立与 Java、Python 等语言的正确对比认知

本章不追求深入,只求 “看懂 + 跑通 + 不迷糊”


1. 什么是 PL/SQL

PL/SQL(Procedural Language / SQL) 是 Oracle 提供的一种 过程化数据库编程语言

一句话理解:

PL/SQL = SQL + 过程语言能力

它在 SQL 的基础上,增加了:

  • 变量
  • 条件判断(IF / CASE)
  • 循环(LOOP / FOR / WHILE)
  • 异常处理
  • 模块化(PROCEDURE / FUNCTION / PACKAGE)

2. 为什么需要 PL/SQL

仅使用 SQL,会遇到以下问题:

  • 复杂业务需要多步处理
  • 需要循环、判断
  • 需要事务控制
  • 需要批量处理

PL/SQL 解决的是:

“如何在数据库内部,把一组 SQL 组织成一段可靠的业务逻辑”


3. PL/SQL 与其他语言的对比(非常重要)

3.1 与 SQL 的关系

项目 SQL PL/SQL
定位 数据操作 逻辑控制
是否支持 IF / LOOP
是否支持事务
执行位置 数据库 数据库

📌 记住一句话:

SQL 负责“算数据”,PL/SQL 负责“管流程”


3.2 与 Java / Python 的区别

项目 Java / Python PL/SQL
执行位置 应用服务器 数据库内部
擅长领域 接口、流程 数据密集型处理
是否直接操作表 通过 SQL 直接
典型场景 Web 服务 批处理、账务

📌 项目中真实分工:

  • Java:对外接口、事务协调
  • PL/SQL:核心数据处理

4. PL/SQL 的典型使用场景

  • 银行 / 金融核心系统
  • 批处理、夜间作业
  • 对账、清算、帐票
  • 数据校验与规则控制

5. 开发与运行环境介绍

5.1 必要组件

要运行 PL/SQL,至少需要:

组件 说明
Oracle Database 数据库本体
客户端工具 编写与执行 PL/SQL

5.2 常见客户端工具

工具 说明
SQL*Plus 官方命令行工具
SQL Developer Oracle 官方 GUI(推荐)
DBeaver 通用数据库工具
PL/SQL Developer 老牌专用工具

📌 新人推荐:SQL DeveloperDBeaver


6. 本地练习环境推荐方案

6.1 学习 / 练习用途(推荐)

  • Oracle XE(免费版)
  • 本地安装或 Docker

6.2 公司 / 项目环境

  • 直接连接测试库
  • 通过 VPN / 内网访问

7. 第一个 PL/SQL 程序(跑通即可)

begin
  dbms_output.put_line('Hello PL/SQL');
end;
/

执行前请确认:

set serveroutput on

看到输出:

Hello PL/SQL

说明环境 OK。


8. 新人常见环境问题

  • 忘记加 / 导致代码不执行
  • 未开启 serveroutput
  • 用户无执行权限

9. 本章小结

  • PL/SQL 是数据库内的过程语言
  • 用于组织和控制 SQL
  • 与 Java / SQL 各司其职
  • 先跑通环境,再学语法

👉 下一章:PL/SQL 基本语法与程序结构