pl/sql和sql的区别
源地址:https://zhidao.baidu.com/question/187511430.html
1 sql(数据定义语言) 和PL/Sql的区别:
答:SQL是结构化查询语言,比较接近自然语言,使用SQL,只需要说干什么,不需要说怎么干。由数据定义语言、数据操纵语言、数据控制语言构成,它不面向过程,即前一条语句与后一条语句无关。SQL是标准的语。
PL/SQL,Oracle对SQL标准的扩充,增加了面向过程的功能,所以可以用来编写存储过程、存储函数、触发器等等。 PL/SQL是结构化SQL,就是在标准SQL中加入了IF...ELSE... For....等控制过程的SQL。
2 具体的什么是PL/SQL:
PL/SQL(Procedural Language/SQL)是对SQL的扩充,它吸收了近年来编程语言的许多最高设计特点:如数据封装性、信息隐蔽性、重载和例外处理等。它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。
PL/SQL的优点如下:
1.块结构(Block Structure)
PL/SQL是块结构语言,意味着程序可以分成若干逻辑块,各自包含那个单元里要求的逻辑语言资源。可以对块宣布本地变量,在块中使用这些变量,可在它们应用的块中特别地处理错误条件(叫做Exceptions)
像oracle中的函数,存储过程和触发器等都是pl/sql语句块的写法。
sql是数据库无关的,pl/sql是oracle特有的,T-SQL是SQL Server特有的。