随笔分类 - SQL
摘要:一、什么是 Lateral 连接 根据文档,它的作用是: LATERAL 关键字可以位于子 SELECT FROM 项之前。这允许子 SELECT 引用 FROM 列表中出现在它之前的 FROM 项的列。(没有 LATERAL,每个子 SELECT 都是独立评估的,因此不能交叉引用任何其他 FROM
阅读全文
摘要:ksqlrc文件作用 ksql在连接到数据库后但在接收正常的命令之前,会尝试读取并执行该文件中的命令,如果加上-X参数,则跳过该文件。 系统级的启动文件是ksqlrc,文件在安装好的KingbaseES的“系统配置”目录中。默认情况下,这个目录将是../etc/(相对于包含KingbaseES可执行
阅读全文
摘要:触发器及其作用 触发器(trigger)是用户定义的由事件驱动的特殊过程。一旦定义,所有用户的对应操作均会由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制。 触发器类似于约束,但是比约束更加灵活,也可以实施比外键约束、检查约束更为复杂的检查和操作,具有更精细和更强大的数据处理能力。
阅读全文
摘要:背景 在电子表格Excel中的数据透视表,能够快速汇总列表中的数据,能把很多行的流水数据表格变成二维汇总表格,然后使用 PowerQuery ,再变成流水数据表格。 KingbaseES 数据库中,使用SQL查询语句,同样实现数据在流水与汇总样式之间转换。 行转列 数据统计工作中,有一种报表是需要横
阅读全文
摘要:KingbaseES兼容了oracle的blob数据类型。通常是用来保存二进制形式的大数据,也可以用来保存其他类型的数据。 下面来验证一下各种数据存储在数据库中形式。 建表 create table t1 (id number, file blob); 插入数据 insert into t1 val
阅读全文
摘要:数据库版本: prod=> select version(); version KingbaseES V008R006C005B0023 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46),
阅读全文
摘要:概述 BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎。通常可以在SELECT INTO、FETCH INTO以及RETURNING INTO子句中使用BULK COLLECT。 Oracle 使用 bulk collect 子
阅读全文
摘要:什么是约束 约束是限制数据库中值的规则,除了数据类型提供的限制之外,对可接受值的附加要求,就是更窄的限制条件。 约束是对表上的数据列,强制执行的规则,防止将无效数据输入数据库,保证了数据的准确性和可靠性。这通常是基于应用程序提供的附加上下文,反应字段的特性。例如,age字段使用int数据类型来存储整
阅读全文
摘要:函数返回值一般是某一类型值,如int,varchar,date等,返回结果集时就需要用到setof语法。 创建数据 create table class(id number primary key, name varchar(20)); create table student(id number,
阅读全文
摘要:KingbaseES兼容了oracle的blob数据类型。通常是用来保存二进制形式的大数据,也可以用来保存其他类型的数据。 下面来验证一下各种数据存储在数据库中形式。 建表 create table t1 (id number, file blob); 插入数据 insert into t1 val
阅读全文
摘要:针对不同版本、是否启用大小写敏感,特征汇总如下:
阅读全文
摘要:我们知道 char 是定长类型的数据,如果数据长度小于定义的长度,会在字符串尾部加上空格。而对于空格的处理,对于等式匹配,或length等,会忽略空格。而对于like 或模式匹配,空格不能忽略。 一、对于系统自动补全的空格 1、数据类型为varchar 对于varchar 类型,由于字符串尾部没有补
阅读全文
摘要:KingbaseES中3种自增长类型sequence,serial,identity的区别: 对象 显示插入 显示插入后更新最大值 清空表后是否重置 是否跟事务一起回滚 多对象共享 支持重置 出现错误后序列值是否增长 sequence 是 否 否 否 是 是 是 serial 是 否 否 否 否 是
阅读全文
摘要:一、介绍 sys_bulkload是KingbaseES提供的快速加载数据的命令行工具。用户使用sys_bulkload工具能够把一定格式的文本数据简单、快速的加载到KingbaseES数据库中,或将KingbaseES数据库中的数据快速导出到CSV文件中。 使用前需要用户手动创建sys_bulkl
阅读全文
摘要:概述:在分区表上创建的索引可分为全局索引和本地索引。全局索引包括全局非分区索引(Global Nonpartitioned Indexes)和全局分区索引(Global Partitioned Indexes)。 全局分区索引(Global Partitioned Indexes)是指与分区表有不同
阅读全文
摘要:关键字: 行专列,列转行, pivot, unpivot 行列转换是在数据分析中经常用到的一项功能,KingbaseES从V8R6C3B0071版本开始通过扩展插件(kdb_utils_function)支持了pivot和unpivot功能。在之前的版本如果需要进行行列转换操作要如何处理呢?下面介绍
阅读全文
摘要:KingbaseES 提供两种存储时间戳的数据类型: 不带时区的 TIMESTAMP 和带时区的 TIMESTAMPTZ。 TIMESTAMP 数据类型可以同时存储日期和时间,但它不存储时区。这意味着,当修改了数据库服务器所在的时区时,它里面存储的值不会改变。 TIMESTAMPTZ 数据类型在存储
阅读全文
摘要:KINGBASE 列加密支持 sm4 和 rc4 加密算法,具体算法在 initdb 时指定,默认是 sm4。要使用列加密,必须 shared_preload_libraries = 'sysencrypt' 一、列加密 分别创建两张表:加密与非加密 test=# create table t1_e
阅读全文
摘要:KingbaseES 有两个参数 enable_partitionwise_join , enable_partitionwise_aggregate 用于分区智能连接和聚集,默认这两个参数是 off 的。开启这两个参数,对于采用hash join 或 hash aggregate 的执行方式有性能
阅读全文
摘要:KingbaseES 时间函数有两大类:返回事务开始时间和返回语句执行时的时间。具体函数看以下例子: 1、返回事务开始时的时间 以下函数返回事务开始的时间(通过 begin .. end 两次调用结果相同):now, current_time , transaction_timestamp 返回的都
阅读全文

浙公网安备 33010602011771号