什么是PL/SQL
结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,它属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途径,而是简单的调用相应语句来直接取得结果即可。
例:delete from students where major=‘Nutrition’;
然而,对于有些复杂的业务流程又要求相应的程序来描述,那么4GL就有些无能为力了。
PL/SQL通过增加了用在其它过程性语言中的结构来对SQL进行了扩展,使得它不仅仅是一个数据库查询语言,而且也是一个编程语言。
PL/SQL代表面向过程化的语言与SQL语言的结合,在编写PL/SQL代码时可以在SQL语句中使用:
(1)变量和类型
(2)控制语句
(3)过程和函数
(4)对象类型和方法
PL/SQL语言实现了将过程结构与Oracle SQL的无缝集成
例:修改一个学生的专业,如果没有该学生,就插入一个新的记录
–3gl_4gl.sql
DECLARE
v_newmajor VARCHAR2(10):=‘History’;
v_firstname VARCHAR2(10):=‘Scott’;
v_lastname VARCHAR2(10):=‘Urman’;
BEGIN
update students
set major=v_newmajor
where first_name=v_last_name and last_name=v_last_name;
If SQL%notfound then
insert into students(ID,FIRST_NAME,LAST_NAME,MAJOR) VALUES (student_sequence.NEXTVAL,v_firstname,
v_lastname,v_newmajor);
End if;
End;
例:delete from students where major=‘Nutrition’;
然而,对于有些复杂的业务流程又要求相应的程序来描述,那么4GL就有些无能为力了。
PL/SQL通过增加了用在其它过程性语言中的结构来对SQL进行了扩展,使得它不仅仅是一个数据库查询语言,而且也是一个编程语言。
PL/SQL代表面向过程化的语言与SQL语言的结合,在编写PL/SQL代码时可以在SQL语句中使用:
(1)变量和类型
(2)控制语句
(3)过程和函数
(4)对象类型和方法
PL/SQL语言实现了将过程结构与Oracle SQL的无缝集成
例:修改一个学生的专业,如果没有该学生,就插入一个新的记录
–3gl_4gl.sql
DECLARE
v_newmajor VARCHAR2(10):=‘History’;
v_firstname VARCHAR2(10):=‘Scott’;
v_lastname VARCHAR2(10):=‘Urman’;
BEGIN
update students
set major=v_newmajor
where first_name=v_last_name and last_name=v_last_name;
If SQL%notfound then
insert into students(ID,FIRST_NAME,LAST_NAME,MAJOR) VALUES (student_sequence.NEXTVAL,v_firstname,
v_lastname,v_newmajor);
End if;
End;
【什么是PL/SQL】相关文章
1. 什么是PL/SQL
2. 什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
3. 什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
4. mysql_pconnect()和mysql_connect()有什么区别
6. 什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
8. 什么是Deployment descriptors;都有什么类型的部署描述符
10. 了解AppleShare protocol(AppleShare协议)吗
本文来源:https://www.mianshiwenti.com/a13446.html
进入下载页面
上一篇:查看回滚段名称及大小
下一篇:查看表空间物理文件的名称及大小
﹝什么是PL/SQL﹞相关内容
- explicit和implicit的含义
- 什么是静态路由?什么是动态路由?各自的特点是什么?
- 什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
- SQL Server提供的3种恢复模型都是什么? 有什么区别?
- Java面试题:Java类的Main方法如果是Private将会怎么样
- *p++ 自增p 还是p所指向的变量
- 什么叫做SQL注入,如何防止
- OLEDBConnection和SQLConnection有什么区别
- SQL Server里面什么样的视图才能创建索引
- 为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限