![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
存储过程
liaosnet
这个作者很懒,什么都没留下…
展开
-
GBase 8s 检查是否是IP且转数值函数
GBase 8s中没有ip类型字段(如inet),对于判断字符串是否是IP地址,需要自己编写相应的函数。原创 2024-05-23 09:14:09 · 237 阅读 · 0 评论 -
GBase 8s内置dbms_lob函数说明
因已有dbms_lob_substr函数,故可以使用instr函数。如果clob长度小于32767,需对clob的输出长度进行限制。截取clob中指定位置开始,但长度不超过32767的部分字符串。同名函数,参数输入不同。需要注意的是对比长度不超过2GB。输出指定长度的clob,大于32767仅显示32767。输出整个clob,大于32767仅显示32767。可将小于32767长度的字符串转换为clob类型。同名函数,参数输入不同。原创 2023-03-22 09:26:20 · 215 阅读 · 0 评论 -
GBase 8s clob数据类型操作函数
GBase 8s中clob数据类型的操作一般使用filetoclob,lotofile和locopy函数;现在我们可以使用扩展的函数更便捷的操作clob。我们可以依据此创建clob操作函数;原创 2023-01-05 11:49:46 · 650 阅读 · 0 评论 -
GBase 8s 自定义mysql兼容函数
TIMESTAMPDIFF(unit, d1, d2):时间差值,unit可接受:day,hour,minute,second。– DAYOFWEEK(d)日期 d 今天是星期几,1 星期日,2 星期一,以此类推。– DAYNAME(d)返回日期 d 是星期几,如 Monday,Tuesday。– CURDATE()/CURRENT_DATE()返回当前日期。– CURRENT_TIME()/CURTIME()返回当前时间。– DAYOFMONTH(d)计算日期 d 是本月的第几天。原创 2023-01-05 11:48:41 · 631 阅读 · 0 评论 -
GBase 8s Java UDR安装说明
2)JVPARGS增加 -Dfile.encoding=UTF-8(根据实际需要增加与否,即直接java执行的参数),JVPCLASSPATH增加judr.jar。1)VPCLASS开启jvp,用于处理Java UDR,默认不开启,取消前面的注释符’#',如果有较多调用,可增加jvp的数量。则gbasedbt-judr-x.x.x.jar的位置为$GBASEDBTDIR/udr/judr.jar。gbasedbt-judr-x.x.x.jar中包含的函数,具体参考。– 使用默认的8位secret。原创 2023-01-05 11:47:46 · 627 阅读 · 0 评论 -
GBase 8s自定义使用hex或者unhex函数
从mysql迁移到GBase 8s数据库时,原有hex(有同名函数,但用法不同)、unhex函数在GBase 8s中不可用,因此需要自己创建相应的函数,可以使用C或者JAVA创建自定义例程,也可以使用存储过程。以下以存储过程方式创建。hexstr函数实现的功能是:将文本转换成十六进制字符串显示。unhex函数实现的功能是:将十六进制字符串转换成对应的ASCII可视文本显示。-- hexstrdrop function if exists hexstr;create function hexstr(原创 2021-05-10 20:58:08 · 345 阅读 · 0 评论 -
GBase 8s存储过程中获取当前时间
GBase 8s数据库中获取当前时间,可以使用current year to second这样方式。但在存储过程中,如果我们想要获取某一段语句的执行时间长度,需要使用两个变量获取当时时间,如下:drop procedure if exists proc_datetime;create procedure proc_datetime() returns varchar(255); define dt1 datetime year to second; define dt2 datetime ye原创 2021-02-24 13:45:06 · 3176 阅读 · 0 评论 -
GBase 8s数据库中的二进制、八进制、十进制、十六进制相互转换函数
用户可能会用到二进制、八进制、十进制、十六进制之间的相互转换。二进制转换二进制转八进制-- 函数名称: bin_to_oct-- 输入参数:二进制字符串-- 输出结果:八进制字符串drop function if exists bin_to_oct;create function bin_to_oct(pstr varchar(255))returns varchar(255) with (not variant) define modstrlen int; define curpo原创 2021-01-27 17:39:00 · 784 阅读 · 0 评论 -
GBase 8s 中数据类型serial与序列sequence之间的异同
GBase 8s 数据库对自增列有两种形式:serial数据类型(以及扩展的bigserial和serial8), int数据类型(以及扩展的bigint和int8)+序列组合实现。这两种实现方式各有各的优势,以下我们以测试来说明。创建测试表及相应的触发器、存储过程自增数据类型serial,仅需要指明数据类型即可-- 自增数据类型create table tabserial (id serial, name varchar(128));生成的实际表结构,serial会自动加上not null约原创 2020-12-16 11:23:27 · 1453 阅读 · 0 评论 -
GBase 8s获取第几周、第几天的函数
Oracle数据库中获取某个日期是当年的第几周、当月的第几周、当年的第几天均可以使用to_char来获取。to_char(sysdate,'WW'); -- 当年第几周,以01-01 至 01-07为第一周to_char(sysdate,'W'); -- 当月第几周,以01 至 07为第一周to_char(sysdate,'DDD'); -- 当年第几天,以01-01 为 001GBase 8s的to_char尚未实际该功能,因此需要使用自定义函数来实现,具体如下:当年的第几周原创 2020-08-17 13:21:30 · 1287 阅读 · 1 评论 -
HEX2DEC存储过程实现
数据库当前有十进制转换为十六进制的函数hex()函数,却没有十六进制转换为十进制的函数,只能自己定义一个hex2dec(),存储过程如下:drop function if exists hex2dec;create function hex2dec(p_str varchar(18)) returns bigint as hex2dec with (not variant); define tmpstr varchar(18); define v_dec bigint; define i原创 2020-06-30 09:58:22 · 556 阅读 · 0 评论 -
【案例分析】创建存储过程报错误282: Found a quote for which there is no matching quote.
创建存储过程时第4行报282错误,该错误的原是说引号不匹配。创建的存储过程语句如下:drop procedure if exists proc1;create procedure proc1(out p_cursor sys_refcursor) define v_sqlstr lvarchar(1024); let v_sqlstr = "select tabid,tabname from systables where原创 2020-06-19 09:43:57 · 1228 阅读 · 0 评论 -
GBase 8s 数据库安装常见问题解析
GBase 8s v8.7 数据库建议安装在RHEL7或者CentOS7或者类似内核的Linux发布版本中。以下是安装过程中常见的一些问题:1,执行ids_install安装时,报“The version file is not exist.”解析:操作系统确少必要的unzip工具,需要安装unzip。CentOS系统中可通过yum install unzip安装。如果安装目录下的隐藏文件...原创 2020-04-26 17:32:38 · 8637 阅读 · 27 评论 -
GBase 8s 存储过程
存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。** 优点 **存储过程可封装,并隐藏复杂的商业逻辑。存储过程可以回传值,并可以接...原创 2020-04-26 17:29:36 · 4615 阅读 · 0 评论