过程化SQL、存储过程、自定义函数

1. 过程化SQL

1)基本结构

declare        -- 定义变量、常量、游标、异常
a int :=0;
b float;

begin          -- 执行开始
               -- sql语句及流程控制语句等
ecception      -- 异常处理

end            -- 执行结束

2)变量常量定义

变量名  类型  [:=初始值];

常量名  类型  constant  :=常量表达式;

赋值语句:    变量名  :=  表达式;

3)条件控制语句

-- if then语句
if 条件 then
    语句;
end if

-- if then else语句
if 条件 then
    语句1;
else
    语句2;
end if

4)循环控制语句

-- loop语句,可使用exit、break、leave等结束循环
loop
    语句;
end loop;

-- while loop语句
while 条件 loop
    语句;
end loop;

-- for loop语句
for i in 1..10 loop
    语句;
end loop;

5)过程化SQL

    过程化SQL有两种类型:匿名块和命名块。前者每次执行都需要编译,如果需要将过程化SQL编译后储存在数据库中,就要使用命名块。命名块包括存储过程和自定义函数,两者的区别是后者必需有返回值,而前者非必需。

2. 存储过程

3. 自定义函数

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏电光石火

array_shift() 函数

实例 删除数组中的第一个元素(red),并返回被删除元素的值: <?php $a=array("a"=>"red","b"=>"green","c"=...

2026
来自专栏开源优测

[快学Python3]函数

一、一个基本的函数 概述 简单的说,函数就是一种代码组织方式,让你可以实现单一、或关联功能的封装,以便高复用。 函数定义 下面我们看一看在Python中函数定义...

2846
来自专栏猿人谷

memset函数使用方法

将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向S...

27410
来自专栏软件测试经验与教训

Python学习笔记(12)

3908
来自专栏xingoo, 一个梦想做发明家的程序员

剑指OFFER之链表中倒数第k个节点(九度OJ1517)

题目描述: 输入一个链表,输出该链表中倒数第k个结点。 (hint: 请务必使用链表。) 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例...

2039
来自专栏数据结构与算法

P3368 【模板】树状数组 2(树状数组维护差分序列)

题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的和 输入输出格式 输入格式: 第一行包含两个整数N、M,...

3396
来自专栏乐沙弥的世界

MongoDB 数组查询

三、小结 a、数组查询有精确和模糊之分,精确匹配需要指定数据元素的全部值 b、数组查询可以通过下标的方式进行查询 c、数组内嵌套文档可以通过.成员的...

6802
来自专栏AzMark

Python 学习之正则表达式「上 」

相信你此刻已经感受到了它的强大之处,接下来就让我们开始正则表达式的学习。先来介绍一下 re 模块。

771
来自专栏丑胖侠

《Drools7.0.0.Final规则引擎教程》第4章 4.4 约束(Pattern的一部分)

4.4.3 约束(Pattern的一部分) 前面我们已经介绍了条件约束在Pattern中位置了,那么什么是条件约束呢?简单来说就是一个返回true或者false...

2708
来自专栏Linux驱动

26.C++- 泛型编程之类模板(详解)

在上章25.C++- 泛型编程之函数模板(详解) 学习了后,本章继续来学习类模板 类模板介绍 和函数模板一样,将泛型思想应用于类. 编译器对类模板处理方式和函数...

2964

扫码关注云+社区

领取腾讯云代金券