LightDB23.4 支持双引号+字段名大写兼容oracle数据库

背景介绍

由于Oracle数据库默认是将列名以大写的形式存储的,LightDB数据库默认以小写的形式存储列名,为了兼容Oracle数据库的SQL语句,LightDB23.4版本支持双引号+字段名大写来操作以小写形式存储的列名。这个功能仅在Oracle兼容模式下生效,并且支持DML操作。

使用示例

  1. 建表,字段名id是小写的
powershell 复制代码
lightdb@oracle_test=# create table t1(id int);
CREATE TABLE
lightdb@oracle_test=# \d+ t1
                                    Table "public.t1"
 Column |  Type   | Collation | Nullable | Default | Storage | Stats target | Description 
--------+---------+-----------+----------+---------+---------+--------------+-------------
 id     | integer |           |          |         | plain   |              | 
Access method: heap

lightdb@oracle_test=# 
  1. 插入数据,以"ID"的方式插入成功
powershell 复制代码
lightdb@oracle_test=# insert into t1("ID") values(10),(20),(30);
INSERT 0 3
lightdb@oracle_test=# 
lightdb@oracle_test=# select * from t1;
 id 
----
 10
 20
 30
(3 rows)

lightdb@oracle_test=# 
  1. 查找数据,以"ID"查找成功
powershell 复制代码
lightdb@oracle_test=# select "ID" from t1;
 ID 
----
 10
 20
 30
(3 rows)

lightdb@oracle_test=# 
  1. 更新数据
powershell 复制代码
lightdb@oracle_test=# update t1 set "ID"=25 where id = 20;
UPDATE 1
lightdb@oracle_test=# select "ID" from t1;
 ID 
----
 10
 30
 25
(3 rows)

lightdb@oracle_test=# 
  1. 删除数据
powershell 复制代码
lightdb@oracle_test=# delete from t1 where "ID" = 25;
DELETE 1
lightdb@oracle_test=# select "ID" from t1;
 ID 
----
 10
 30
(2 rows)

lightdb@oracle_test=# 
相关推荐
骆晨学长8 分钟前
基于springboot的智慧社区微信小程序
java·数据库·spring boot·后端·微信小程序·小程序
@月落13 分钟前
alibaba获得店铺的所有商品 API接口
java·大数据·数据库·人工智能·学习
楠枬23 分钟前
MySQL数据的增删改查(一)
数据库·mysql
goTsHgo28 分钟前
从底层原理上解释 clickhouse 保证完全的幂等性
数据库·clickhouse
阿华的代码王国2 小时前
MySQL ------- 索引(B树B+树)
数据库·mysql
Hello.Reader2 小时前
StarRocks实时分析数据库的基础与应用
大数据·数据库
执键行天涯2 小时前
【经验帖】JAVA中同方法,两次调用Mybatis,一次更新,一次查询,同一事务,第一次修改对第二次的可见性如何
java·数据库·mybatis
yanglamei19623 小时前
基于GIKT深度知识追踪模型的习题推荐系统源代码+数据库+使用说明,后端采用flask,前端采用vue
前端·数据库·flask
工作中的程序员3 小时前
ES 索引或索引模板
大数据·数据库·elasticsearch
严格格3 小时前
三范式,面试重点
数据库·面试·职场和发展