Oracle学习系类篇(三)
1. 存储过程
CREATE OR REPLACE PROCEDURE SP_NAME( PM_NAME [IN/OUT/IN OUT] PM_TYPE...)
{AS}
[说明(变量定义)部分]
BEGIN
可执行部分
[EXCEPTION]
错误处理部分
END [SP_NAME];
·
参数:
in 定义一个输入参数变量。用于传递参数给存储过程 PM_name IN DATA_type DEFAULT default_value;
out 定义一个输出参数变量。用户从存储过程中获取数据 PM_name OUT DATA_type;
in out 定义一个输入输出参数,同时拥有以上2个功能 PM_name IN OUT DATA_type DEFAULT default_value;
2.包
包是用来存储相关程序结构的对象,他存储与数据字典中,包由两个分离的部分组成,包头(Package)和包体(Package body).包头是包的说明部分, 是对外的操作接口,对应用是可见的,包体是包的代码的实验部分,对应用来说是不可见的黑盒。
CREATE [OR REPLACE] PACKAGE PK_NAME
IS
共有变量定义
共有类型定义
共有游标定义
共有异常定义
函数说明
过程说明
END;
创建包体命令如下:
CREATE [OR REPLACE] PACKAGE BODY PK_NAME
IS
私有变量定义
私有类型定义
私有游标定义
私有异常定义
函数定义
过程定义
END;
删除包头:
Drop Package PKNAME
删除包头:
Drop Package body PKNAME
3.游标的使用
Oracle学习系类篇(三)的更多相关文章
- Oracle学习系类篇(四)
.分析函数 分析函数oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组,然后计算基于组的邹忠统计值,并且每一组的每一行都可以返回一个统计值. 分析函数和聚合函数的不同之处 ...
- Oracle学习系类篇(二)
1.Oracle对表的增删改 1.1添加列 1.2修改列 1.3 删除列 1.4 修改表名称 1.5 修改列名称 1.6 删除主键约束 1.7 添加主键约束 1.8 添加外键约束
- Oracle学习系类篇(一)
1.表空间介绍 oarcle数据库真正存放数据的是数据文件(data files),Oarcle表空间(tablespaces)实际上是一个逻辑的概念,他在物理上是并不存在的,那么把一组data fi ...
- java学习笔记-JavaWeb篇三
63 JSTL_表达式操作64 JSTL_流程控制操作 65 JSTL_迭代操作 66 JSTL_URL操作67 JSTL_改写MVC案例68 Filter概述 69 创建HttpFilter 70 ...
- python 学习之 基础篇三 流程控制
前言: 一. python中有严格的格式缩进,因为其在语法中摒弃了“{}”来包含代码块,使用严格的缩进来体现代码层次所以在编写代码的时候项目组要严格的统一器缩进语法,一个tab按键设置为四个空格来缩进 ...
- Lua 学习之基础篇三<Lua 字符串操作>
Lua字符串可以使用以下三种方式表示: 单引号间的一串字符. 双引号间的一串字符. [[和]]间的一串字符. string = [["Lua"]] print("字符串 ...
- Java菜鸟学习笔记--数组篇(三):二维数组
定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...
- Android攻城狮学习笔记—入门篇三
第十章 CheckBox 与其他控件类似 有自己的监听方法 实现监听 并定义被选中或取消后的操作 第十一章 RadioGroup和RadioButton RadioGroup是RadioButton的 ...
- Redis 学习笔记(篇三):跳表
跳表 跳表(skiplist)是一种有序的数据结构,是在有序链表的基础上发展起来的. 在 Redis 中跳表是有序集合(sort set)的底层实现之一. 说到 Redis 中的有序集合,是不是和 J ...
随机推荐
- 00--C++牛人的博客
那些C++牛人的博客 这篇文章来自转载,转载的网址找不到了, 如果有人知道,可以在下面评论, 非常感谢,更感谢原作者. 现整理收集C++世界里那些“牛人”的个人博客.凡三类:一是令人高山仰止的 ...
- 02--C编程细节整理(一)
用C语言比较多,这篇是平时攒下的.有些内容在工作后可能会很常见,但是不用容易忘,所以就写篇博客吧. 1. printf的用法 %*可以用来跳过字符,可以用于未知缩进.像下面一样. for ...
- js 把json字符串转为json对象
<input type="hidden" name="data" id="data" value='[{"name&q ...
- Apex语言(一)开发环境
1.注册salesforce开发者https://developer.salesforce.com/ 2.开发者登录https://login.salesforce.com/ 3.Apex开发者工具 ...
- MySQL 表与表之间建立关系
引子:如下图是一张非常寻常的表格,在以前的工作中实常会制作类似的表格,但是今天的数据库内容,将我之前这种传统的制表思路上升了一个层次: 今天核心的内容就是怎样让表与表之间产生关系,在思考这个问题的时候 ...
- vue中使用base64进行加解密
vue进行Base64加解密 背景 项目中需要对特殊字符进行处理,避免json和数据库的特殊字符(""等)冲突,刚好学了信息安全,干脆整个加解密,wkk.. 使用步骤 打开dos, ...
- 最长上升子序列(LIS)与最长公共子序列(LCS)
1.LIS : 给定一个序列,求它的最长上升子序列(n<=2000) 第一种 O(n^2): dp[i] 为以i为开头的最长上升子序列长度 code1: #include<cstdio&g ...
- 【Tool】Augmentor和imgaug——python图像数据增强库
Augmentor和imgaug--python图像数据增强库 Tags: ComputerVision Python 介绍两个图像增强库:Augmentor和imgaug,Augmentor使用比较 ...
- TP框架 mysql子查询
一些比较复杂的业务关系,用子查询解决. 比循环便利要好的多哈. 比如下面这句 select 和where in 语句都用了子查询. 因为父查询在select里,所以用了select的字段当子查询的条件 ...
- 【 ACM-ICPC 2018 沈阳赛区网络预赛 D】Made In Heaven
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 点可以重复走的k短路. [代码] #include <bits/stdc++.h> #define LL long lo ...