PL/SQL笔记(一)
PL/SQL概述
PL/SQL是一种高级的数据库程序设计语言,专门使用与Oracle语言基于数据库的服务器的内部,所以PL/SQL代码可以对数据库进行快速的处理。
1.什么是PL/SQL?
PL/SQL包含过程化语句和SQl语句,他是对于SQL语言的一个补充,他将SQL语言通过过程化的结构融合在一起。
2.PL/SQL的优点?
(1)基于数据库的内部,所有速度是很快的,有利于提高性能
开发过程的时候,将PL/SQL块直接放在应用程序中,PL/SQL将整个语句发生给服务器,这个过程在单次执行的时候完成,降低网络拥挤,一般的SQL语句,是单独的监护,在网络环境中浪费大量的带宽,影响响应的时间。
(2)可重用性
只要在Oracle下就可以使用,并不需要关心系统,无需修改代码。
(3)模块化
一个PL/SQL可以包含一个或者多个程序块,每一块的都实现一个逻辑操作,可以将任务进行分割,有不同的模块来完成。并且块之间是可以嵌套的。
3.PL/SQL的块结构
PL/SQL程序的基本结构是块,所有的PL/SQL程序都是由块组成的:声明部分、可执行部分、异常部分。
只有可执行部分是必须的,其他都是可选的,块的执行部分至少有有一个是可执行部分。
[DECLARE]
/*声明部分*/
BEGIN
/*可执行部分*/
[exception]
/*错误处理部分*/
END;
嵌套
[DECLARE]
……
BEGIN
……
BEGIN
……
[EXCEPTION]
……
END;
[EXCEPTION]
……
END;
4.PL/SQL的注释
(1)单行注释:如果注释是单行的,或者注释需要嵌套在多行注释,可以使用单行注释,单行注释一两个连字符“-”开始,可以扩展到哦句尾。
(2)多行注释,以/*开始,以“*/”结尾。
5.PL/SQL的输出
在使用PL/SQL小黑窗口进行显示的时候,需要设置,否则并不是显示出结果
SET SERVEROUTPUT ON
输出两行文字
BEGIN
DBMS_OUTPUT.PUT_LINE('我是kw');
DBMS_OUTPUT.PUT_LINE('我正在写PL/SQL');
END;
这里只有可执行部分,其他部分,都进行了省略。
PL/SQL笔记(一)的更多相关文章
- pl/sql 笔记之基础(上)
由于公司中使用 oracle,而本人对存储过程一直也懵懵懂懂,故一周时间学习了一遍 pl/sql,在此记下笔记!!! 一.前提,pl/sql 是啥? 1.PL/SQL是一种高级数据库程序设计语言,该语 ...
- PL SQL笔记(三)
loop then .. exit; end if; end loop; select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') from dual; sel ...
- pl/sql 笔记之存储过程、函数、包、触发器(下)
一.存储过程.存储函数 1.What's This? ①.ORACLE 提供可以把 PL/SQL 程序存储在数据库中,并可以在任何地方来运行它.这样就叫存储过程或函数. ②.存储过程.存储函数的唯 ...
- PL/SQL笔记(1)-流程控制,循环,异常,块
流程控制 1.If,then,else,elsif(不是elseif) ' then null; endif; 2.Case 简单case表达式: 搜索型Case表达式: 3.goto语句 begin ...
- Oracle之PL/SQL学习笔记
自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家 ...
- ORALCE PL/SQL学习笔记
ORALCE PL/SQL学习笔记 详情见自己电脑的备份数据资料
- 百倍性能的PL/SQL优化案例(r11笔记第13天)
我相信你是被百倍性能的字样吸引了,不过我所想侧重的是优化的思路,这个比优化技巧更重要,而结果嘛,其实我不希望说成是百倍提升,“”自黑“”一下. 有一个真实想法和大家讨论一下,就是一个SQL语句如果原本 ...
- Oracle 学习笔记(Windows 环境下安装 + PL/SQL)
Oracle 安装.PL/SQL 配置使用 前言:因更换机械硬盘为 SSD 固态硬盘装了新 Windows 7 系统,需要重新搭建开发环境,把 Oracle 安装过程和 PL/SQL 配置使用做下笔 ...
- oracle从入门到精通复习笔记续集之PL/SQL(轻量版)
复习内容: PL/SQL的基本语法.记录类型.流程控制.游标的使用. 异常处理机制.存储函数/存储过程.触发器. 为方便大家跟着我的笔记练习,为此提供数据库表文件给大家下载:点我下载 为了要有输出的结 ...
随机推荐
- Android自己定义动态布局 — 多图片上传
Android自己定义动态布局 - 多图片上传 本文介绍Android中动态布局加入图片,多图片上传. 项目中效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5 ...
- C++的继承和Java继承的比较
在C++中继承可分为公有继承(public)保护继承(protected)和私有继承(private),而在Java中默认只有一种继承(相当于C++中的公有继承)下面我们来看一段代码 #include ...
- SSH远程快速登录Linux
SSH远程快速登录Linux 使用SSH管理linux服务器,通常要使用ssh,然后输入用户,密码,其实只要配置一个文件就可以方便登录.假设要登录server域名是www.interne ...
- 去除inline-block元素间距
- LuoguP2754 [CTSC1999]家园(分层图,最大流)
题目背景 none! 题目描述 由于人类对自然资源的消耗,人们意识到大约在 2300 年之后,地球就不能再居住了.于是在月球上建立了新的绿地,以便在需要时移民.令人意想不到的是,2177 年冬由于未知 ...
- 洛谷 P3111 [USACO14DEC]牛慢跑Cow Jog_Sliver
P3111 [USACO14DEC]牛慢跑Cow Jog_Sliver 题目描述 The cows are out exercising their hooves again! There are N ...
- python核心编程五——映像和集合
1.字典 不同意一个键相应多个值:当有键发生冲突(即.字典键反复赋值),取最后(近期)的赋值. >>> dict1 = {' foo':789, 'foo': 'xyz'} ...
- php excel文件导出之phpExcel扩展库
php Excel 文件导出 phpExcel 官网 http://phpexcel.codeplex.com/ /** * 导出特定文件 * 依据详细情况而定 */ public function ...
- 分享一段php获取随意时间的前一天代码
<?php /** * 获取给定日期的前一天 * @param string $date * @return string $yesterday */ function getYesterday ...
- golang sync.RWMutex
sync.RWMutex package main import ( "fmt" "runtime" "sync" ) func click ...