
Oracle PL/SQL 学习笔记:从菜鸟到进阶
下载需积分: 50 | 86KB |
更新于2024-09-16
| 180 浏览量 | 举报
收藏
"Oracle PL/SQL菜鸟学习笔记"
Oracle PL/SQL是一种用于Oracle数据库的编程语言,结合了SQL的查询能力与过程式编程的灵活性。这篇学习笔记主要涵盖了PL/SQL的基础概念,包括创建存储过程、带参数的过程、错误检查、块结构、变量命名规则以及函数和包的创建。
1. 创建存储过程:
存储过程是一组预先编译的SQL语句,可以在需要时重复调用。例如:
```sql
CREATE OR REPLACE PROCEDURE my_plis
BEGIN
// 执行部分
END;
/
```
这将创建一个名为`my_plis`的简单存储过程。
2. 带参数的存储过程:
可以为存储过程传递参数,如下所示:
```sql
CREATE PROCEDURE sp_test2 (spname VARCHAR2, newclassid NUMBER)
IS
BEGIN
UPDATE student SET classid = newclassid WHERE studentname = spname;
END;
/
```
这里的`sp_test2`接受两个参数:`spname`和`newclassid`,用于更新学生班级ID。
3. 错误检查:
使用`SHOW ERROR`命令查看存储过程中的错误:
```sql
SHOW ERROR -- 查看错误
```
4. 调用存储过程:
有两种方式调用存储过程:`EXEC`或`CALL`:
```sql
EXEC 过程名(参数值1, ...);
CALL 过程名(参数值1, ...);
```
5. 命名规范:
遵循一定的命名约定,如:
- 变量:`v_变量名`;
- 常量:`c_常量名`;
- 游标:`名字_cursor`;
- 例外:`e_名字`;
6. 块结构:
PL/SQL的代码块由以下几个部分组成:
- `SET SERVEROUTPUT ON`:打开输出;
- `DECLARE`:声明部分,定义变量(可选);
- `BEGIN`:执行部分(必需);
- `EXCEPTION`:异常处理;
- `END`:结束;
例如:
```sql
BEGIN
DBMS_OUTPUT.PUT_LINE('hello');
END;
/
```
7. 变量命名规则:
- 变量名称可以包含字母、数字和特殊符号,但必须以字母开头;
- 不区分大小写;
- 最大长度为30个字符;
- 不能有空格;
- 示例:
```sql
DECLARE
v_student VARCHAR2(20);
BEGIN
SELECT studentname INTO v_student FROM student WHERE xh = '&xh';
DBMS_OUTPUT.PUT_LINE('姓名:' || v_student);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('查无此人'); -- 异常处理
END;
/
```
8. 创建函数:
函数类似于存储过程,但返回一个值。例如:
```sql
CREATE FUNCTION sp_fun1 (spname VARCHAR2) RETURN NUMBER IS
s_age NUMBER(3);
BEGIN
SELECT age + 1 INTO s_age FROM student WHERE studentname = spname;
RETURN s_age;
END;
```
这个函数`sp_fun1`接收一个参数`spname`,并返回一个加1后的年龄值。
9. 调用函数:
使用`EXEC`和`INTO`关键字调用函数并将结果赋值给变量:
```sql
VAR result NUMBER;
EXEC sp_fun1('张三') INTO :result;
```
10. 创建包:
包是封装相关过程和函数的集合,有助于代码组织:
```sql
CREATE PACKAGE sp_package
AS
PROCEDURE my_procedure;
FUNCTION my_function RETURN NUMBER;
END;
/
CREATE PACKAGE BODY sp_package
AS
PROCEDURE my_procedure
IS
BEGIN
-- 实现
END;
FUNCTION my_function RETURN NUMBER
IS
f_result NUMBER;
BEGIN
-- 实现
RETURN f_result;
END;
END;
/
```
这样就创建了一个包含过程`my_procedure`和函数`my_function`的包`sp_package`。
以上就是Oracle PL/SQL的基本概念和操作,对于初学者来说,理解这些概念是进一步深入学习的关键。
相关推荐







aashuguang
- 粉丝: 0
最新资源
- 大学物理下册课件:自学材料下载与详细内容解析
- PDA平台上的俄罗斯方块游戏体验
- JDK6与JACOB成功整合实践指南
- Winform模拟QQ聊天小程序源代码解析
- 掌握SQL Server面试题,助你数据库求职一臂之力
- 轻松掌握Oracle-SQL数据库技术
- 联信手机销售管理系统V9.12安装与系统需求解析
- VC环境下数字图像处理源码解析与应用
- Imperator FLA v1.6.9.8:SWF转FLA动画破译工具
- 探索XWork源码:Struts2学习的金钥匙
- Apache Tomcat 5.5.25压缩包下载与使用指南
- ASP.NET自定义时间控件:DLL形式快速集成
- 提升用户体验:JSP页面加载提示实现技巧
- Ext JS 2.2版本:跨平台富客户端AJAX框架
- DWR框架开发详解:从入门到精通
- th075Caster源代码详解与修改指南
- VB.NET开发的高效图书馆管理系统
- C#开发WinForms聊天室教程
- 基于C#的ACCP5.0 S2考试管理软件开发
- EvID4226Patch223bXP工具:线程修改功能详解
- VC++开发的学生公寓管理系统及数据库功能介绍
- MyEclipse 6 Java开发中文教程完整代码解析
- JS编程实现星际游戏特效分享
- PL.SQL.Developer.v7.1.4.1390安装及使用指南