背景介绍
由于Oracle数据库默认是将列名以大写的形式存储的,LightDB数据库默认以小写的形式存储列名,为了兼容Oracle数据库的SQL语句,LightDB23.4版本支持双引号+字段名大写来操作以小写形式存储的列名。这个功能仅在Oracle兼容模式下生效,并且支持DML操作。
使用示例
- 建表,字段名id是小写的
lightdb@oracle_test=# create table t1(id int);
CREATE TABLE
lightdb@oracle_test=# \d+ t1Table "public.t1"Column |  Type   | Collation | Nullable | Default | Storage | Stats target | Description 
--------+---------+-----------+----------+---------+---------+--------------+-------------id     | integer |           |          |         | plain   |              | 
Access method: heaplightdb@oracle_test=# 
- 插入数据,以“ID”的方式插入成功
lightdb@oracle_test=# insert into t1("ID") values(10),(20),(30);
INSERT 0 3
lightdb@oracle_test=# 
lightdb@oracle_test=# select * from t1;id 
----102030
(3 rows)lightdb@oracle_test=# 
- 查找数据,以“ID”查找成功
lightdb@oracle_test=# select "ID" from t1;ID 
----102030
(3 rows)lightdb@oracle_test=# 
- 更新数据
lightdb@oracle_test=# update t1 set "ID"=25 where id = 20;
UPDATE 1
lightdb@oracle_test=# select "ID" from t1;ID 
----103025
(3 rows)lightdb@oracle_test=# 
- 删除数据
lightdb@oracle_test=# delete from t1 where "ID" = 25;
DELETE 1
lightdb@oracle_test=# select "ID" from t1;ID 
----1030
(2 rows)lightdb@oracle_test=#