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

相关文章

来自专栏一个会写诗的程序员的博客

java.base.jmod

/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/jmods$ jmod list java....

1162
来自专栏技术之路

wpf键盘记录器

很简单的一个wpf键盘记录器 ? 这个程序我一样用了全局勾子,之前用的都是winform上运行了,前一段时间 在国外的论坛上逛看到了一个wpf能用的就做了一个小...

2055
来自专栏Pulsar-V

Save Camera Document

#pragma once #include "HCCamera.h" #include <time.h> #include <cstdio> #incl...

2888
来自专栏Hadoop数据仓库

Oracle sqlldr 如何导入一个日期列

1. LOAD DATA INFILE * INTO TABLE test FIELDS TERMINATED BY X'9' TRAILING NULLCO...

1866
来自专栏跟着阿笨一起玩NET

c# 使用timer定时器操作,上次定时到了以后,下次还未执行完怎么处理

------解决方案-------------------------------------------------------- 开始的时候,禁用定时器,你...

2981
来自专栏linux驱动个人学习

高通msm8909耳机调试

1、DTS相应修改: DTS相关代码:kernel/arch/arm/boot/dts/qcom/msm8909-qrd-skuc.dtsi: 1 s...

7965
来自专栏Golang语言社区

Knapsack problem algorithms for my real-life carry-on knapsack

I'm a nomad and live out of one carry-on bag. This means that the total weight o...

1182
来自专栏MelonTeam专栏

Bitmap 源码阅读笔记

导语: Android 系统上的图片的处理,跟Bitmap 这个类脱不了关系,我们有必要去深入阅读里面的源码,以便在工作中能更好的处理Bitmap相关的问题...

2598
来自专栏WOLFRAM

向日葵中的数学之美

1923
来自专栏码匠的流水账

聊聊spring cloud的HystrixAutoConfiguration

本文主要研究一下spring cloud的HystrixAutoConfiguration

1102

扫码关注云+社区