数据库管理-第210期 HaloDB-Oracle兼容性测试02(20240622)

发布于:2024-06-27 ⋅ 阅读:(184) ⋅ 点赞:(0)

数据库管理-第210期 HaloDB-Oracle兼容性测试02(20240622)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database(Oracle与MySQL)
PostgreSQL ACE Partner
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、认证技术专家、年度墨力之星,ITPUB认证专家、专家百人团成员,OCM讲师,PolarDB开源社区技术顾问,HaloDB外聘技术顾问,OceanBase观察团成员,青学会MOP技术社区(青年数据库学习互助会)技术顾问
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

这期继续HaloDB-Oracle兼容性测试。

1 表增加列

CREATE TABLE halo_test_02 (
a SERIAL,
b NUMERIC
);
\d halo_test_02
ALTER TABLE halo_test_02 ADD COLUMN c VARCHAR(30);
\d halo_test_02

image.png

2 约束

CREATE TABLE halo_test_03 (
a SERIAL PRIMARY KEY,
b NUMERIC
);
ALTER TABLE halo_test_03 ADD CONSTRAINT  b_unique UNIQUE(b);
\d+ halo_test_03
ALTER TABLE halo_test_03 DROP CONSTRAINT b_unique;
\d+ halo_test_03

image.png

3 自增列

CREATE TABLE halo_test_04 (
a SERIAL,
b NUMERIC
);
INSERT INTO halo_test_04(b) VALUES (9.99);
INSERT INTO halo_test_04(b) VALUES (99.99);
SELECT * FROM halo_test_04;

image.png

4 虚拟列

CREATE TABLE halo_test_05 (
a SERIAL PRIMARY KEY,
b NUMERIC,
c NUMERIC GENERATED ALWAYS AS (trunc(b)) STORED
);
INSERT INTO halo_test_05(b) VALUES(9.99);
SELECT * FROM halo_test_05;

image.png

5 表注释

CREATE TABLE halo_test_06 (
a SERIAL PRIMARY KEY,
b NUMERIC
);
COMMENT ON TABLE halo_test_06 IS 'HALO TEST';
COMMENT ON COLUMN halo_test_06.b IS 'HALO TEST b';

select relname as tabname, obj_description(c.oid) from pg_class c where c.relname = 'halo_test_06';

image.png

6 truncat表

CREATE TABLE halo_test_07 (
a SERIAL PRIMARY KEY,
b NUMERIC
);
INSERT INTO halo_test_07(b) VALUES(9.99);
SELECT * FROM halo_test_07;
TRUNCATE TABLE halo_test_07;
SELECT * FROM halo_test_07;

image.png

总结

本期进一步针对表定义相关进行了兼容性测试,虽都能满足需求,但维护语句仍有一些区别。
老规矩,知道写了些啥。


网站公告

今日签到

点亮在社区的每一天
去签到