从永远到永远-Oracle的PL/SQL学习(存储过程学习)

工作原因,涉及到了Oracle数据库的存储过程。以前没有接触过,请教了很多大佬,被喷的、被误导、被折腾的半4。总算是领悟了一点点的东西,现有时间总结下自己的一些感触。

1、关于PL/SQL

1.1 是什么

我以前一直把PL/SQL和PL/SQL Developer 搞混了,从我请教Java群的群友来看,我发现很多人都不明白或者瞎明白。
PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用。PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。MySQL 不支持 PL/SQL ,但支持Navicat Premium。(以下简称Navicat)

1.2 疑问(以下部分内容因没有找到资料证实,算是个人理解,如有异议请开喷:)

Navicat虽然能连接Oracle数据库,但是不支持PL/SQL。根据网上查的资料,Navicat中应该是能够开发Oracle的PL/SQL的。但是,实际项目中mybatis的mapper文件调用了一个Oracle数据库的存储过程,我根据mapper文件中的存储过程名字在Navicat中查。根本查不到,但是用PL/SQL Developer是可以看到的。所以,Oracle开发还是用PL/SQL Developer(这个以前也听一堆大佬争辩过,今天算是给了自己一个答案)。

1.3 为什么用

引用葛优的一句话:“21世纪什么最重要,效率”

1.3.1 根本原因

对于客户端、服务器来说,二者交互最大的瓶颈是网络。纵然,代码优化得再棒,网络环境不行,都是白扯。何况,即便网络环境还不错的情况下,客户端与服务器交互的数据量只要足够大,应用运行效率依然会受到影响。PL/SQL编程,将很多的逻辑交给数据库处理。客户端不需要频繁与数据库进行交互,只需要发送一条执行指令,必然大大提升效率。

1.3.2 安全(面试可以提一下)

对于一些大型金融机构来说的,因为很多逻辑是封装在数据库的,只提供了一个存储名字给程序员。这样,程序员根本不清楚数据库的表结构、字段等信息,安全。

1.3.3 缺点

不便于维护。
关于这点,我有一个美好的祝愿:
如果不是迫不得已,谁用PL/SQL,我祝福谁4全家”。

2 学习PL/ SQL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值