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=# 
相关推荐
打鱼又晒网3 分钟前
【MySQL】数据库精细化讲解:内置函数知识穿透与深度学习解析
数据库·mysql
王小小鸭8 分钟前
【开发小技巧11】用经典报表实现badge list效果,根据回显内容用颜色加以区分
oracle·oracle apex
大白要努力!9 分钟前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
tatasix1 小时前
MySQL UPDATE语句执行链路解析
数据库·mysql
南城花随雪。1 小时前
硬盘(HDD)与固态硬盘(SSD)详细解读
数据库
儿时可乖了1 小时前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
懒是一种态度1 小时前
Golang 调用 mongodb 的函数
数据库·mongodb·golang
天海华兮1 小时前
mysql 去重 补全 取出重复 变量 函数 和存储过程
数据库·mysql
gma9992 小时前
Etcd 框架
数据库·etcd
爱吃青椒不爱吃西红柿‍️2 小时前
华为ASP与CSP是什么?
服务器·前端·数据库