Welcome 微信登录

首页 / 数据库 / MySQL / 浅谈PL/SQL

关于PL/SQL,可能大家熟悉而又陌生,熟悉是因为大家在工作中老是写sql,如果稍微改动一些,加入begin,end和控制结构,就是PL/SQL了。:)今天和大家简单讨论一下PL/SQL。不谈技术细节,泛泛而谈。 我自己在以前的总结中提出了以下几个问题,自己来按照这个思路来解答一下,可能大家印象中的PL/SQL和sql还是有很大的差别的。说到PL/SQL,不得不提到ada语言,因为PL/SQL是基于ada语言来建模的,是美国国防部耗时20年研发成功的。而且Ada语言是 美国国防部指定的 唯一的一种可用于 军用系统开发的语言,我国军方也将Ada做为军内开发标准第四代计算机语言的成功代表。-->先有sql还有PL/SQL?-->sql和PL/SQL的区别-->Sql和PL/SQL的联系-->先有sql还有PL/SQL?一般大家认为这两个没啥区别:) 看看下面的产品版本线。Oracle 6.0 1988年,最初的PL/SQL版本Oracle 7.0 存储过程,函数,包,自定义类型,集合的支持Oracle 8.0 版本号同步, PL/SQL 8.0, LOB,面向对象,集合(varry和嵌套表)Oracle 9.1 case,表函数..Oracle 9.2 XMLOracle 10.1 2004年,改进的/自动的数据库管理, 优化的编译器和编译时警告Oracle 11.1 2007年,函数结果缓存,符合触发器,continue…Oracle 11.2 2009年,基于版本的重定义-->sql和PL/SQL的区别sql和PL/SQL的区别可能有不少的点,大体有下面的这些。SQL–SEQUEL: Structured English QUEry Language–SQL: Structured Query Language–用户只需要说明“做什么”–结构化,第四代语言(4GL)–关系数据库统一的界面语言–不是严格遵循关系模型,基于关系模型PL/SQLProcedural Language/SQL”怎么做”–--对sql提供了面向过程的扩展和补充–--面向过程编程–--面向对象功能,这个部分也是对数据库体系的一个扩展,尽管面向对象的编程很普遍,我们的大部分数据层和业务层还是通过关系型的思路来做。–--主要编写服务器端程序Sql和PL/SQL的联系PL/SQL完全支持sqlsql中可以调用PL/SQL关于PL/SQL和sql还是有很大的技术细节,可以认为PL/SQL是实现更为复杂的商业逻辑支撑,对sql的更加全面的扩展,虽然两者的问题出发点不同。rlwrap - 解决Linux下SQLPLUS退格、上翻键乱码问题 http://www.linuxidc.com/Linux/2013-07/87890.htmSQLPLUS spool 到动态日志文件名 http://www.linuxidc.com/Linux/2013-03/80988.htmOracle SQLPLUS提示符设置 http://www.linuxidc.com/Linux/2012-10/73326.htm通过设置SQLPLUS ARRAYSIZE(行预取)加快SQL返回速度 http://www.linuxidc.com/Linux/2011-07/38711.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址