PL/SQL基础教程:从查询到操纵数据
"PLSQL语言学习笔记" 这篇笔记主要介绍了PL/SQL的基本概念和操作,PL/SQL是Oracle数据库中的过程化语言,它结合了SQL的查询能力与编程语言的控制结构。以下是对笔记内容的详细解析: 1. PL/SQL块的结构与限制 PL/SQL块是PL/SQL的基本组成部分,它可以包含声明、执行和异常处理部分。在这个笔记中,作者指出PL/SQL块不能直接包含DDL(创建、修改、删除)和DCL(权限授予、撤销)语句,这些需要在PL/SQL外部执行。相反,PL/SQL块可以直接使用SELECT、DML(插入、更新、删除)和事务控制语句。 2. 检索单行数据 - **使用标量变量**:你可以声明与表列类型匹配的变量,如`v_ename`和`v_sal`,然后通过`SELECT INTO`从表中选取单行数据到这些变量。 - **使用记录变量**:记录变量可以存储多列数据,如`emp_record_type`定义了一个记录类型,包含`ename`和`sal`两个字段。同样使用`SELECT INTO`将数据填充到记录变量中。 3. 嵌入SELECT语句的注意事项 - **单行数据返回**:`SELECT INTO`必须返回且只能返回一条数据,否则会抛出错误。`NO_DATA_FOUND`表示没有找到匹配的数据,`TOO_MANY_ROWS`表示返回了多条数据。 - **避免列名与变量名冲突**:在`WHERE`子句中,避免使用与列名相同的变量名,以免引发`TOO_MANY_ROWS`异常。 4. 操纵数据 - **使用VALUES子句插入数据**:通过声明变量`v_deptno`和`v_dname`,然后使用`VALUES`子句将它们的值插入到`dept`表中。 - **使用子查询插入数据**:通过子查询`SELECT * FROM emp WHERE deptno = v_deptno`,将满足条件的行插入到另一个表,这里假设是`employee`表。 - **更新数据**:更新`dept`表中的`loc`列,使用表达式`v_loc`,并根据`deptno`筛选需要更新的行。 5. 删除数据 笔记中提到的第2.4点是关于删除数据的,但没有提供完整的信息。通常,删除数据使用`DELETE`语句,如`DELETE FROM table_name WHERE condition`。 6. 事务控制 笔记中虽然没有具体讲解,但在PL/SQL中,`COMMIT`用于提交事务,`ROLLBACK`用于回滚事务,`SAVEPOINT`用于设置保存点,可以在发生错误时恢复到某个点。 7. 异常处理 PL/SQL支持异常处理,允许你在遇到错误时执行特定的代码块。这通常通过`BEGIN...EXCEPTION`块来实现,其中`EXCEPTION`部分可以捕获并处理特定的错误。 8. 存储过程和函数 PL/SQL还支持创建存储过程和函数,它们可以封装复杂的业务逻辑,提高代码复用和数据库性能。 通过这篇笔记,读者可以对PL/SQL的基础操作有一个初步的理解,包括如何检索和操纵数据,以及如何处理事务和异常。然而,更深入的学习可能需要查看Oracle的官方文档或参加专门的PL/SQL培训课程。
![](https://csdnimg.cn/release/download_crawler_static/5237418/bgb.jpg)
![](https://csdnimg.cn/release/download_crawler_static/5237418/bgc.jpg)
![](https://csdnimg.cn/release/download_crawler_static/5237418/bgd.jpg)
剩余63页未读,继续阅读
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/25e2c5a57bc34dc08e0c866461036b6d_cnlmgsoft.jpg!1)
- 粉丝: 21
- 资源: 31
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)