过程化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 条评论
登录 后参与评论

相关文章

来自专栏猿人谷

memset函数使用方法

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

22810
来自专栏小二的折腾日记

day5(面向对象2)

1.指定类型的数组到底要定义多长呢? 当指定类型的数组长度小于集合的size,那么该方法会创建一个新的数组,长度为集合的size。当指定类型的数组长度小于了集合...

863
来自专栏乐沙弥的世界

MongoDB 数组查询

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

3712
来自专栏Python、Flask、Django

python中的filter函数

952
来自专栏丑胖侠

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

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

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

Python学习笔记(12)

3788
来自专栏小樱的经验随笔

C++STL中map容器的说明和使用技巧(杂谈)

1、map简介 map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,...

3195
来自专栏ios 技术积累

Mybatis 中 foreach 用法

●item:表示集合中每一个元素进行迭代时的别名, ●index:指 定一个名字,用于表示在迭代过程中,每次迭代到的位置, ●open:表示该语句以什么开始...

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

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

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

1999
来自专栏电光石火

array_shift() 函数

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

1956

扫码关注云+社区