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

相关文章

来自专栏我是业余自学C/C++的

汇编语言-第三章 寄存器(内存访问)

1436
来自专栏Pythonista

Golang作用域—坑

在函数体内声明的变量称之为局部变量,它们的作用域只在函数体内,参数和返回值变量也是局部变量。

983
来自专栏博岩Java大讲堂

Java虚拟机--虚拟机内存区域Java虚拟机内存区域

2658
来自专栏有趣的django

python面试题(持续更新)

第1~10题 1、一行代码实现1--100之和 >>> sum(range(1,101)) 5050 >>> 2、如何在一个函数内部修改全局变量 a= 3 ...

35611
来自专栏猿说1024

Java 单例模式

905
来自专栏Android机动车

数据结构学习笔记——线性表(下)

了解过线性表的链式存储结构以后,有人就想出来用数组来代替指针,来描述单链表。看看他们是怎么做到的。

351
来自专栏大闲人柴毛毛

剑指offer代码分析——面试题13在O(1)内删除链表结点

本题详细解析都已在代码中注释了: /** * 给一个单链表,头指针为first,请用O(1)时间删除其中节点p * @author chibozhou *...

3485
来自专栏blackheart的专栏

[C#1] 6-方法

1.实例构造器[.ctor] 默认情况下,对于引用类型,如果我们没有显示的定义实例构造器,则C#编译器会为我们定义一个无参的公有实例构造器。 一个类的实例构造器...

1945
来自专栏余林丰

“不可变的对象”与“不可变的对象引用”

什么是不可变的对象呢?我们都知道String是不可变的,如果有涉及大量的字符串拼接我们最好不要用String,虽然我们在代码中可以这样写: String str...

1959
来自专栏海天一树

小朋友学C语言(30):局部变量和全局变量

(一)局部变量 在某个函数或块的内部声明的变量称为局部变量。它们只能被该函数或该代码块内部的语句使用。局部变量在函数外部是不可知的。下面是使用局部变量的实例。在...

3238

扫码关注云+社区