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)