随笔分类 -  PLSQL

摘要:KingbaseES 支持 bfile 数据类型。对于bfile ,实际数据是存储在操作系统上,数据库存储的只是指向文件的指针。 具体例子如下: test=# create directory BFILEDIR as '/dbdata/v8r6c5b41/temp'; CREATE DIRECTOR 阅读全文
posted @ 2022-04-11 17:52 KINGBASE研究院 阅读(125) 评论(0) 推荐(0) 编辑
摘要:背景:客户现场的一次艰苦的调优过程(https://www.cnblogs.com/kingbase/p/16015834.html),让我觉得非常有必要让数据库用户了解函数的不同稳定性属性,及其对于SQL性能可能带来的影响。很多DBA、开发人员根本就不在意,或者根本就没意识到函数稳定性对于性能的影 阅读全文
posted @ 2022-03-02 15:24 KINGBASE研究院 阅读(172) 评论(0) 推荐(0) 编辑
摘要:KingbaseES 为了更好地适应用户的oracle 应用,实现了对 plsql 的支持,用户可以根据需要使用 plsql 或 plpgsql。 以下简要介绍下二者的差异 一、格式差异 1、plpgsql plpgsql 必须有 label [ <<label>> ] [ DECLARE decl 阅读全文
posted @ 2021-12-14 16:04 KINGBASE研究院 阅读(907) 评论(0) 推荐(0) 编辑
摘要:Oracle 的存储过程或函数提供了两种执行方式: 解释执行:将源代码逐条转换成目标代码,解释一条,执行一条的过程。PLPGSQL将语句翻译成中间形式的系统代码,并在运行时进行解释。 编译执行:将源代码一次性转换成目标代码,然后执行目标代码的过程。PLPGSQL将语句编译成动态库并存储在catalo 阅读全文
posted @ 2021-12-07 18:59 KINGBASE研究院 阅读(278) 评论(0) 推荐(0) 编辑
摘要:匿名块的基本语法结构包括声明和执行两部分。匿名块每次提交都被重新编译和执行。因为匿名块没有名称并不在数据库中存储,所以匿名块不能直接从其他PL/SQL 块中调用。 定义语法: [ DECLARE ] [ variable_declaration ] [ cursor_declaration ] BE 阅读全文
posted @ 2021-11-27 11:17 KINGBASE研究院 阅读(215) 评论(0) 推荐(0) 编辑
摘要:可以通过返回 Refcursor 类型的函数,或者out 类型的函数或 procedure 返回结果集。 一、返回refcursor 类型的函数 create or replace function f_get_set(refcursor,refcursor) returns setof refcu 阅读全文
posted @ 2021-07-28 20:06 KINGBASE研究院 阅读(377) 评论(0) 推荐(0) 编辑
摘要:对于含有 out 类型参数的过程或者函数,只能通过块方式调用,这是因为,ksql 还不支持类似 Oracle 那样通过 var 定义变量。 一、带OUT的procedure 调用 创建过程: create or replace procedure proc1( v_id integer, out v 阅读全文
posted @ 2021-07-28 20:00 KINGBASE研究院 阅读(394) 评论(0) 推荐(0) 编辑
摘要:管道函数即是可以返回行集合(可以使嵌套表nested table 或数组 varray)的函数,我们可以像查询物理表一样查询它或者将其赋值给集合变量。KingbaseES 数据库可以用 setof 实现类似 Oracle 的pipelined 功能,C5版本开始,也支持pipeline。 一、Ora 阅读全文
posted @ 2021-07-02 16:43 KINGBASE研究院 阅读(266) 评论(0) 推荐(0) 编辑
摘要:用户在使用trigger时,经常会面临before or after的选择问题。二者有什么区别?从字面理解,before trigger 是在触发操作完成之前完成,而after 是在触发操作完成之后完成。显然,before触发器(针对insert和update操作)可以修改NEW的值。如果需要修改N 阅读全文
posted @ 2021-06-21 14:11 KINGBASE研究院 阅读(880) 评论(0) 推荐(0) 编辑
摘要:一、函数的属性 KingbaseES 函数在定义时有三种稳定性级别:volatile、stable 和 immutable。默认情况下,创建函数的稳定性为volatile。以下是这三种函数的区别: Volatile 函数可以做任何事情,包括修改数据库。在调用中,输入同样的参数可能会返回不同的结果,比 阅读全文
posted @ 2021-06-16 19:41 KINGBASE研究院 阅读(313) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示