PL/SQL概述

一. 什么是PL/SQL
  PL/SQL(Procedual Language/SQL)是Oracle在标准SQL语言上的过程性扩展。PL/SQL不仅允许嵌入SQL语句,而且允许定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误。

二. SQL的简介
  20世界80年代初期,ANSI(American National Standards Institute)数据库标准委员会开始制定有关关系语言的标准。
  直到1986年,数据库标准委员会才退出第一个SQL语言标准SQL-86。
  随后根据数据库技术的发展,SQL标准不断的扩展和修正,又推出了SQL-89,SQL-92,SQL-99标准。
  1979年,Relational Software公司(Oracle前身)首先向市场推出了SQL执行工具,Oracle完全遵从ANSI的SQL标准。截至到10g,已经集成到最新的SQL-99标准。

三. SQL语言的分类
  • 数据查询语言(SELECT语句):用于检索数据库数据。在SQL所有语句中,SELECT语句的功能和语法最复杂、最灵活。
  • 数据库操纵语言(Data Manipulation Language,DML):用于改变数据库数据,包括INSERT,UPDATE和DELETE三条语句。
  • 事物控制语言(Transactional Control Language,TCL):用于维护数据的一致性,包括COMMIT,ROLLBACK和SAVEPOINT三条语句。其中SAVEPOINT用于设置保存点,以便确认和取消部分数据库改变。
  • 数据库定义语言(Data Definition Language,DDL):用于建立、修改和删除数据库对象。例如使用CREATE TABLE可以建表;使用ALTER TABLE可以修改表结构;使用DROP TABLE可以删除表。但是注意,DDL语句会自动提交事物。
  • 数据控制语言(Data Control Language,DCL):用于执行权限授予和收回操作,包括GRANT和REVOKE两条命令。但是注意,DCL语句同样也会自动提交事物。


注:SQL语句中,关键字、表名和字段名称是不区分大小写的,但是为了代码的可读性,推荐在PL/SQL块中,全部大写。
四. PL/SQL简介
  PL/SQL是Oracle在标准SQL语言上的过程性扩展,它不仅允许嵌入SQL语句,而且允许定义变量和常量,允许过程语言结构(条件分支语句和循环语句),允许使用例外处理Oracle错误等。

PL/SQL具有以下一些有点和特征
  • 提高应用程序的性能:使用SQL语句时,每次单条语句就向数据库提交请求。而通过PL/SQL块可以将多条SQL语句组织到一起提交。
  • 提供模块化的程序设计功能:可以集成业务规则和逻辑到PL/SQL块中进行管理和处理。
  • 允许定义标识符:可以在PL/SQL块中定义变量、常量、游标和例外等各种标识符。
  • 拥有过程语言的控制结构:PL/SQL块中可以使用各类条件分支语句和循环语句。
  • 具有良好的兼容性:可以在任何IDE平台上使用。(屁话)
  • 处理运行错误:通过PL/SQL所提供的例外(EXCEPTION),开发人员可以集中处理各种Oracle错误和PL/SQL错误,从而简化了错误处理。


五. Oracle 10g PL/SQL新特性
  • 在9i中,当使用FORALL语句执行批量SQL操作时,只能在PL/SQL集合类型(嵌套表、VARRAY)上使用连续下标;而从Oracle 10g开始,通过使用INDICES OF子句和VALUES OF子句,就可允许在PL/SQL集合类型(嵌套表、VARRAY)上使用非连续下标。
  • 在Oracle 10.1开始,在编写PL/SQL块时可以使用新的数据类型:BINARY_FLOAT和BINARY_DOUBLE。
  • 从Oracle 10.1开始,Oracle为嵌套表提供了更多新的操作,包括比较嵌套表是否相等、检测某元素是否为嵌套表成员、检测一个嵌套表是否是另一个嵌套表的子集、在嵌套表上执行集合操作等等。
  • 从Oracle 10.1之前,当为字符串变量赋值时,必须要使用两个单引号,如果在字符串数值中需要包含单引号,那么必须要使用两个单引号来表示一个单引号值;而从10.1开始,如果在字符串数值中需要包含单引号,那么开发人员可以在字符串中使用其他分隔符({},[],<>)包围字符串,使得开发人员可以在字符串中直接将单引号作为字符值引用。
  • 从10.1开始,Oracle可以隐式地将CLOB数据转换为NCLOB数据,也可以将NCLOB数据隐式地转换为CLOB数据,但是为加快数据转换数度,用户可以继续使用TO_CLOB和TO_NCLOB函数进行类型转换。
  • 从Oracle 10.1开始,Oracle增加了新的倒叙查询函数SCN_TOTIMESTAMP和TIMESTAMP_TO_SCN。通过使用函数SCN_TO_TIMESTAMP,可以根据SCN值取得相应的日期时间值;通过使用函数TIMESTAMP_TO_SCN,可以根据日期时间值取得相应的SCN值。


省略Oracle 9及其之前的相关特性。现在用不到了。。。


五. PL/SQL开发工具
  很多哈,现在安装Oracle 11g时会默认带一个SQL/DEVELOPER的工具,这个是Oracle官方提供的工具,很好用。推荐用这个。其他的不推荐。
  现在也没必要去用SQL/PLUS了,超级难用,也不好看。命令行的所有东西都能在SQL/DEVELOPER的工具完成,何必作践自己。- -!

你可能感兴趣的:(数据结构,oracle,sql,ide,Tcl)