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=# 
相关推荐
~光~~10 分钟前
【嵌入式linux学习_OV8858 bring up】L2_V4L2与Ov8858
linux·数据库·学习
菜地里的小菜鸟22 分钟前
达梦数据库备份与恢复
数据库·达梦·达梦数据库备份与恢复
阳光九叶草LXGZXJ2 小时前
达梦数据库-报错-11-cmd 13 validate error
linux·运维·数据库·sql·学习
PGCCC3 小时前
PostgreSQL 数据库认证体系技术解析:PCA / PCP / PCM 三级能力模型与考纲拆解
数据库·postgresql·pcm
wWYy.3 小时前
Mysql:覆盖索引
android·数据库·mysql
long3163 小时前
PostgreSQL 学习资料 · 入门 / 练习 / 精通 / 扩展
java·数据结构·数据库·spring boot·sql·postgresql·数据库开发
拳里剑气3 小时前
Linux:进程间通信
linux·运维·数据库·进程
阳光九叶草LXGZXJ3 小时前
达梦数据库-报错-12-[-7184]:对象定义[XXX]被修改,版本检查失败
linux·运维·服务器·数据库·sql·学习
惜分飞3 小时前
Oracle Block Edit Tool (obet) 功能增强–2026.07
数据库·oracle·obet
无忧.芙桃3 小时前
MySQL数据库原理与实践(五):内置函数
数据库·mysql