DB2存储过程简单示例
在这个示例中,我们将在DB2中创建一个名为DEMO1201的存储过程。
该存储过程的输入参数IN_NAME和IN_CREDITCARD,表示用户的姓名和身份证号。
该存储过程的作用是根据身份证号来新建用户或者更改用户信息,代码如下:
CREATE OR REPLACE PROCEDURE DEMO1201 (
IN IN_NAME VARCHAR(50),
IN IN_CREDITCARD CHARACTER(18)
)
BEGIN
DECLARE V_RESULT VARCHAR(50) DEFAULT NULL;
SELECT NAME INTO V_RESULT FROM USERS WHERE CREDITCARD=IN_CREDITCARD;
IF (V_RESULT IS NOT NULL) THEN
UPDATE USERS SET NAME=IN_NAME WHERE CREDITCARD=IN_CREDITCARD;
ELSE
INSERT INTO USERS VALUES(IN_NAME,IN_CREDITCARD);
END IF;
END
创建完该存储过程后,我们来新建一个USERS表并调用存储过程:
DROP TABLE USERS;
CREATE TABLE USERS (
NAME VARCHAR(50),
CREDITCARD CHARACTER(18)
);
INSERT INTO USERS VALUES ('刘德华','123456789123456789');
INSERT INTO USERS VALUES ('周杰伦','123456789987654321');
CALL DEMO1201('周星驰','123456789987654321');
我们新建了两个用户,并调用了存储过程DEMO1201,此时我们执行SELECT操作:
SELECT * FROM USERS;
结果如下:
NAME CREDITCARD
-------------------------------------------------- ------------------
刘德华 123456789123456789
周星驰 123456789987654321
可以看到,CREDITCARD为“123456789987654321”的用户的姓名已经变更成了“周星驰”。
DB2存储过程简单示例的更多相关文章
- DB2函数简单示例
DB2中的函数原理同其他编程语言中的函数,均为输入几个参数,同时返回一个值. 下面的例子演示一个寻找某一次考试中成绩最好的学生的姓名. 首先,我们新建一个表SCORE用于表示考试,并插入几条数据: D ...
- Linux下的C Socket编程 -- server端的简单示例
Linux下的C Socket编程(三) server端的简单示例 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上面去. 绑定socket ...
- C# 构建XML(简单示例)
C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...
- 根据juery CSS点击一个标签弹出一个遮罩层的简单示例
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- ACEXML解析XML文件——简单示例程序
掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...
- demo工程的清单文件及activity中api代码简单示例
第一步注册一个账户,并创建一个应用.获取app ID与 app Key. 第二步下载sdk 第三步新建工程,修改清单文件,导入相关的sdk文件及调用相应的api搞定. 3.1 修改清单文件,主要是加入 ...
- spring-servlet.xml简单示例
spring-servlet.xml简单示例 某个项目中的spring-servlet.xml 记下来以后研究用 <!-- springMVC简单配置 --> <?xml versi ...
- SignalR 简单示例
一.什么是 SignalR ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of add ...
- Web API 简单示例
一.RESTful和Web API Representational State Transfer (REST) is a software architecture style consisting ...
随机推荐
- 利用matplot简单显示图片
import matplotlib.pyplot as plt from matplotlib.image import imread img = imread('F:\\ml\\DL\\source ...
- 如何下载oracle jdk|oracle jdk下载慢,要登录等等问题
wget -c --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup ...
- emit传多个参数
https://blog.csdn.net/lxy123456780/article/details/87811113 子组件: this.$emit('closeChange',false,true ...
- c# 关于mongo bson转json的问题
问题解决自:https://stackoverflow.com/questions/27132968/convert-mongodb-bsondocument-to-valid-json-in-c-s ...
- 使用webuploader实现断点续传
核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...
- bzoj 1415: [Noi2005]聪聪和可可 期望dp+记忆化搜索
期望dp水题~ 你发现每一次肯定是贪心走 2 步,(只走一步的话就可能出现环) 然后令 $f[i][j]$ 表示聪在 $i$,可在 $j$,且聪先手两个人碰上面的期望最小次数. 用记忆化搜索转移就行了 ...
- PHP的输出语法
一.echo 只能输出标量数据类型,对于任何数据都可以转为字符串输出 echo是PHP的一种特殊的'指令',不一定要像函数的那样()去使用,可以直接紧跟一个空格输出信息,可以是多个参数 <?ph ...
- 节点(node)操作
一.节点的属性 节点值页面中的所有内容,包括标签.属性.文本 nodeType,节点类型:如果是标签,则是1:如果是属性.则是2:如果是文本,则是3 nodeName,节点名字:如果是标签,则是大写的 ...
- 洛谷P1021邮票面值设计
题目 一道很经典的搜索题,可以锻炼搜索的能力,比如可以用dfs覆盖加dp的方式来寻找+更新答案.而且还可以通过在递归中增加数组的方式来辅助搜索. #include <bits/stdc++.h& ...
- 自动化运维工具pssh、pdsh、pscp
pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问. 以下 ...