zoukankan
html css js c++ java
DB2使用笔记生成存储过程ID
Code
1
CREATE
PROCEDURE
DB2INST1.CREATEID(OUT OV_RETVAL
INTEGER
,
2
OUT OV_RETMSG
VARCHAR
(
400
),
3
OUT
NEWID
INTEGER
,
4
IN
SNTYPE
VARCHAR
(
50
))
5
SPECIFIC SQL090829140326600
6
MODIFIES SQL DATA
7
NOT
DETERMINISTIC
8
NULL
CALL
9
LANGUAGE SQL
10
BEGIN
11
DECLARE
v_strState
char
(
5
)
default
''
;
--
自定义SQL出错状态码\
12
DECLARE
SQLCODE
integer
;
--
系统SQL出错编码
13
DECLARE
SQLSTATE
char
(
5
);
--
系统SQL出错状态码
14
DECLARE
v_step
integer
;
--
-默认自增量
15
DECLARE
NUM
integer
;
--
-当前最大值
16
17
DECLARE
NOWDATE
VARCHAR
(
50
);
--
-获取时间
18
DECLARE
V_TYPE
VARCHAR
(
50
);
--
-输入的类型
19
--
异常处理
20
DECLARE
EXIT
HANDLER
FOR
SQLEXCEPTION
21
BEGIN
22
VALUES
(SQLCODE ,SQLSTATE)
INTO
ov_retval , v_strState;
23
SET
ov_retmsg
=
ov_retmsg
||
'
处理失败,其中SQLSTATE:
'
||
v_strState;
24
END
;
25
--
固定变量赋初值
26
SET
ov_retval
=
0
;
--
返回代码
27
SET
ov_retmsg
=
''
;
--
返回信息
28
29
SET
v_step
=
1
;
--
默认为自增1
30
SET
V_TYPE
=
SNTYPE;
--
-设置输入的类型
31
--
--对不存在的类型
32
if
not
exists
(
select
*
from
serviceid
where
sntype
=
V_TYPE)
then
33
--
-加入这条记录
34
--
set NOWDATE = (select current timestamp from sysibm.sysdummy1); ---得到当前时间
35
insert
into
SERVICEID(SNTYPE,MAXNUM,STEP)
VALUES
(V_TYPE,
1
,v_step);
36
SET
newID
=
1
;
--
-设置新ID为1
37
--
--对已存在的类型,返回当前值加步长
38
else
39
--
set NOWDATE = (select current timestamp from sysibm.sysdummy1); ---得到当前时间
40
set
NUM
=
(
select
MAXNUM
from
SERVICEID
WHERE
SNTYPE
=
V_TYPE)
+
1
;
--
-查询出当前最大值
41
42
update
SERVICEID
SET
MAXNUM
=
NUM
WHERE
SNTYPE
=
V_TYPE ;
43
SET
newID
=
NUM;
44
end
if
;
45
46
SET
ov_retmsg
=
'
执行成功
'
;
47
END
查看全文
相关阅读:
中文转码问题总结
Linux命令总结
Maven实战系列文章目录
JXL API总结
docker 中安装mysql8之后无法远程连接的问题caching-sha2-password
springboot查数据并以csv格式现在到本地
aop
java.lang.ClassNotFoundException: org.aspectj.lang.JoinPoint
shiro框架中获取username、ip等信息
cron
原文地址:https://www.cnblogs.com/bayker/p/1556356.html
最新文章
生成二维码图片代码+加图片水印+导出
把图片保存到数据库中和从数据库中读取图片--项目琐碎总结
设计模式(3)---抽象工厂模式及工厂模式总结
设计模式(2)---工厂模式
设计模式(1)---简单工厂模式
设计模式基本原则
多线程笔记
.net平台下深拷贝和浅拷贝
.net数据库操作
windows服务的创建、安装、调试全过程及引发的后续学习
热门文章
WPF控件模板
琐碎--选择文件夹(路径)+生产txt格式的log+数据库操作方式
.net平台下垃圾回收机制
xml基本操作
MySQL知识总结(四)二进制日志
MySQL复制(二)Master-Slave复制实践
MySQL复制(一)复制原理探讨
MySQL知识总结(三)存储过程
MySQL知识总结(二)基本语句总结
MySQL知识总结(一)安装与配置(Linux CentOS)
Copyright © 2011-2022 走看看