首页 > 数据库 >KingbaseES 分区表与 Oracle 分区表对于空值的处理差异

KingbaseES 分区表与 Oracle 分区表对于空值的处理差异

时间:2023-02-03 12:13:34浏览次数:39  
标签:partition t1 test 分区表 values Oracle table KingbaseES id

 

一、对于null 值处理

1、Oracle

分区字段允许为空,只要存在maxvalue 分区,值就可以插入。

SQL> create table t1(id number,data varchar(9)) partition by range(id)
  2  ( 
  3    partition p1 values less than (1000),
  4    partition p2 values less than (maxvalue)
  5  );

Table created.

SQL> insert into t1(data) values('a');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from t1 partition(p2);

        ID DATA
---------- ---------
           a

2、KingbaseES

允许分区列值为空,但需要 Default 分区

test=# create table t1(id integer,name text) partition by range(id);
CREATE TABLE
test=# create table t1_p1 partition of t1 for values from (minvalue) to (1000);
CREATE TABLE
test=# create table t1_p2 partition of t1 for values from (1000) to (maxvalue);
CREATE TABLE
test=# 
test=# insert into t1(name) values('a');
ERROR:  no partition of relation "t1" found for row
DETAIL:  Partition key of the failing row contains (id) = (null).

test=# create table t1_default partition of t1 default;
CREATE TABLE
test=# insert into t1(name) values('a');
INSERT 0 1

  

 

标签:partition,t1,test,分区表,values,Oracle,table,KingbaseES,id
From: https://www.cnblogs.com/kingbase/p/15220312.html

相关文章

  • KingbaseES 与 Oracle XML 语法比较
    KingbaseES内置支持XML相关操作,也可以通过xml2插件进行扩展支持。以下通过例子介绍KingbaseESXML与Oracle在用法上存在的一些差异。一、数据准备createtablet......
  • KingbaseES PLSQL 支持语句级回滚
    KingbaseES默认如果在PLSQL-block执行过程中的任何SQL语句导致错误,都会导致该事务的所有语句都被回滚,而Oracle则是语句级的回滚。KingbaseES为了更好的与Oracle兼容,新......
  • KingbaseES V8R6运维案例之---pg_statistic toast表故障修复
    ​案例说明:数据库在日常的维护过程中,执行表结构查询语句(\dt1),如下图所示,出现“missingchunknumber0fortoastvalue16259inpg_toast_2619”,从报错信息看和toast表......
  • KingbaseES V8集群运维案例之---系统用户修改密码或过期对ssh互信的影响
    案例说明:KingbaseV8主备流复制集群在通用机环境部署和运维,需要建立主机间的ssh互信,如果ssh互信被破坏,将导致集群故障。但有的生产环境为了系统安全需要,会配置密码管理策......
  • Oracle Business Intelligence Enterprise Edition(DataModel详解)
    数据模型编辑器数据模型编辑器使您能够将来自多个数据集的数据合并到单个XML数据结构中。来自多个数据源的数据集可以合并为顺序XML,也可以在行级别合并,以创建单个组......
  • oracle 自定义函数splitstr
     函数主体createorreplacetypetype_splitastableofvarchar2(4000) createorreplacefunctionsplitstr(p_stringvarchar2,......
  • Linux下重启Oracle数据库
    1、Linux下以Oracle帐户进入Linux系统。su -oracle   ---切换成oracle用户登录2、执行以下命令查看数据库监听器的状况:lsnrctlstatus3、执行以下命令停止数据库监......
  • Oracle查询
    --恢复表FLASHBACKTABLE"Student"TOBEFOREDROP;FLASHBACKTABLE"Grade"TOBEFOREDROP;--给字段起别名select"GradeID"as年纪编号,"GradeIdName"as"年纪名称"......
  • Oracle增删改
    --相表中插入一条数据INSERTINTO"Grade"("GradeID","GradeIdName")values(1,'20级中职');--如果按序插入,可以省略字段列表INSERTINTO"Grade"values(2,'19级中职');--插......
  • KingbaseES V8R6备份恢复案例之---自定义表空间指定恢复目录数据恢复
    案例说明:KingbaseESV8R6在通过sys_rman执行物理备份恢复时,可以通过参数‘--kb1-path’,指定恢复的数据(data)目录,但如果原备份中包含自定义表空间时,需要建立表空间映射,再执......