随笔分类 -  SQL

1 2 3 4 5 ··· 7 下一页
摘要:本文详细介绍了KingbaseES中在兼容适配过程中,当遇到不支持的操作符,如何通过自定义方式解决兼容适配问题。 Kingbase自定义操作符语法和用例如下: 用例数据: create table demo(id numeric(10,5)); insert into demo values(1.1 阅读全文
posted @ 2024-07-26 11:05 KINGBASE研究院 阅读(74) 评论(0) 推荐(0) 编辑
摘要:针对已有的列,如何修改为非空,并且指定默认值? 熟悉Oracle的DBA都知道,如果在将列从可空修改为非空时,必须确保已有的列不含有空值,如: SQL> create table tab01(id integer,name varchar(100),city varchar(100)); Table 阅读全文
posted @ 2024-07-26 11:05 KINGBASE研究院 阅读(102) 评论(0) 推荐(0) 编辑
摘要:熟悉Oracle的DBA就知道,Oracle早期11g版本在增加非空列(default or not null default)时,需要回写表,也就是需要针对每一行的记录进行修改。Oracle12c 开始,修改或增加非空字段都无需更新数据表。对于KingbaseES ,增加非空列同样不需要更新数据, 阅读全文
posted @ 2024-07-26 11:05 KINGBASE研究院 阅读(50) 评论(0) 推荐(0) 编辑
摘要:文章概要: 本文属于学习总结系列,总结了一下数组类型和PL/SQL中集合类型及其使用区别。 一,集合(collection)数据 它是存放一组数据类型相同的数据,是一组相同类型元素的集合 集合数据类型分三类: 1).关联数组(index by tables) 元素下标:binary_integer、 阅读全文
posted @ 2024-04-03 17:02 KINGBASE研究院 阅读(36) 评论(0) 推荐(0) 编辑
摘要:获取数据库排名前20的表 select t.table_catalog as db, n.nspname as schemaname, c.relname, c.reltuples::numeric as rowcount, sys_size_pretty(sys_table_size ( '"' 阅读全文
posted @ 2024-03-29 18:38 KINGBASE研究院 阅读(27) 评论(0) 推荐(0) 编辑
摘要:一,数据库中OID 每个表都有几个系统字段,其中有一个比较特殊的系统字段OID,使用\d并不会显示,且默认情况下创建也不会有OID。 本文验证版本 test=# select version(); test-# / version KingbaseES V008R006C007B0024 on x8 阅读全文
posted @ 2024-03-29 18:37 KINGBASE研究院 阅读(368) 评论(0) 推荐(0) 编辑
摘要:在数据库性能优化的世界中,索引始终扮演着至关重要的角色。 KingbaseES创建索引语法中的INCLUDE关键字为索引创建提供了额外的灵活性,允许在 B-Tree索引中包含额外的非键(Non-Key)列。 这些列虽然不参与索引的排序或搜索过程,但可用于提高某些查询的效率,尤其是在执行索引覆盖扫描( 阅读全文
posted @ 2024-03-28 15:33 KINGBASE研究院 阅读(66) 评论(0) 推荐(0) 编辑
摘要:在KingbaseES中create table语句支持GENERATED column(生成列)。 生成列是一种特别的列类型,它的值基于其他列的值计算得出。因此,生成列之于列,有点像视图之于表的关系。存在两种类型的生成列:存储生成列和虚拟生成列。 存储生成列在数据被写入(插入或更新操作)时进行计算 阅读全文
posted @ 2024-03-28 15:32 KINGBASE研究院 阅读(101) 评论(0) 推荐(0) 编辑
摘要:oracle数据库的触发器迁移到KingbaseES的时候经常会出现一下两类错误: 1.SQL 错误 [42809]: 错误: "xxxxxxxx" 是一个视图。Detail: 视图上的触发器不能有转换表。 2.SQL 错误 [0A000]: 错误: 不能为具有多个事件的触发器指定转换表 这两类问题 阅读全文
posted @ 2024-03-28 15:32 KINGBASE研究院 阅读(199) 评论(0) 推荐(0) 编辑
摘要:1. 动态SQL 动态SQL在程序启动时会根据输入参数替换相应变量。使用动态SQL可以创建更强大和灵活的应用程序,但在编译时SQL语句的全文不确定,因此运行时编译会牺牲一些性能。动态SQL可以是代码或SQL语句的一部分,动态部分要么由开发人员输入,要么由程序本身创建。 1.1 动态SQL使用场景 在 阅读全文
posted @ 2024-03-28 15:31 KINGBASE研究院 阅读(102) 评论(0) 推荐(0) 编辑
摘要:Mysql mysql> select version(); + + | version() | + + | 8.0.23 | + + 1 row in set (0.00 sec) mysql> create table dept (deptno int ,dname varchar(10),lo 阅读全文
posted @ 2024-03-28 15:31 KINGBASE研究院 阅读(64) 评论(0) 推荐(0) 编辑
摘要:一、功能介绍: CROSS APPLY和OUTER APPLY是SQL Server中的一种连接操作,类似于JOIN语句可以将一张表与一个表函数或一个子查询进行关联。表函数是一种返回一个表类型的数据的函数,子查询是一个嵌套在外部查询中的查询。它们可以与表值函数或子查询配合使用,返回左表和右表的匹配结 阅读全文
posted @ 2023-09-19 18:38 KINGBASE研究院 阅读(39) 评论(0) 推荐(0) 编辑
摘要:测试 创建测试环境所需表及函数 create table test1(id int); INSERT INTO test1(id) VALUES (generate_series(1, 10000)); create table test2(id int); INSERT INTO test2(id 阅读全文
posted @ 2023-09-19 18:35 KINGBASE研究院 阅读(191) 评论(0) 推荐(0) 编辑
摘要:1.概念 1.schema是每个database中特有的。 schema概念有点像命名空间,这个逻辑空间包含若干表对象。 在DB里面,有了schema才可以创建对象,对象需要依赖于schema,默认为schema为 public 2.user是cluster级别的,它的逻辑架构位于数据库之上。可以在 阅读全文
posted @ 2023-09-19 18:35 KINGBASE研究院 阅读(459) 评论(0) 推荐(0) 编辑
摘要:前言 本文的目的是实现u1用户访问ud用户下的视图权限。 测试 登录system用户并创建schema,user,并授权schema的有关权限给ud用户 TEST=# select current_user; current_user system (1 row) TEST=# create sch 阅读全文
posted @ 2023-09-19 18:35 KINGBASE研究院 阅读(407) 评论(0) 推荐(0) 编辑
摘要:一、适用版本: KingbaseES数据库所有版本。 二、问题现象: 使用备份的数据进行还原,还原过程中发生异常。 日志信息: sys_restore: connecting to database for restore sys_restore: creating TABLE "public.ta 阅读全文
posted @ 2023-09-19 18:34 KINGBASE研究院 阅读(367) 评论(0) 推荐(0) 编辑
摘要:数据库使用过成中,时常会遇到需要返回一个结果集的情况,如何返回一个结果集,以及如何选择一个合适的方式返回结果集,是现场经常需要考虑的问题。 下面介绍KingbaseES中各种返回结果集的方式。 1.通过自定义类型方式,返回结果集 -- 测试数据:创建自定义类型 CREATE TYPE rctype 阅读全文
posted @ 2023-09-18 16:14 KINGBASE研究院 阅读(209) 评论(0) 推荐(0) 编辑
摘要:## 前言 默认情况下,vacuum表不能释放磁盘空间,只是在dead tuple做个标记位,但heap table末端的垃圾页可以被truncate,从磁盘中释放空间。例如表的末尾的100个数据块里面全是垃圾,那么这100个数据块可以truncate阶段,文件也会变小。而位于其他位置的垃圾页,不能 阅读全文
posted @ 2023-06-06 15:32 KINGBASE研究院 阅读(37) 评论(0) 推荐(0) 编辑
摘要:## 前言 当数据库遇到未知问题,有时候无法入手分析,在非生产数据库或者征得客户同意获得特殊时间,需要重建表解决,下面提供了多种不同的复制表的方法,我们了解一下他们的差异。 ## 测试 ``` 1、CREATE TABLE AS SELECT 语句用于复制表结构和数据,但是不会复制索引。 我们可以使 阅读全文
posted @ 2023-06-06 15:32 KINGBASE研究院 阅读(250) 评论(0) 推荐(0) 编辑
摘要:客户提供了一份数据记录需要导入数据库,但是文本中有一个列的内容是反斜杠“\” ,因为"\"是特殊的转义字符,需要使用两个“\\”才能表示,如果直接导入会出现错误。 自定义一个文件 1.txt 内容如下: 1,\\,1 直接导入数据: ``` test=# copy t1 from '/home/kb 阅读全文
posted @ 2023-06-06 15:32 KINGBASE研究院 阅读(109) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 7 下一页
点击右上角即可分享
微信分享提示