oracle关键字作为字段名使用方法
有时我们在定义字段名及别名时所用名与oracle关键字同名,这时该如何处理呢?
其实很简单,只要在此关键字加上"",如"group"
SQL> DROP TABLE k;
Table dropped
-- 建立表K,字段名为UID(oracle关键字)
SQL> CREATE TABLE k(UID INT);
CREATE TABLE k(UID INT)
ORA-: : invalid IDENTIFIER
-- 字段名加""表创建成功
SQL> CREATE TABLE k("UID" INT);
Table created
--插入一些数据
SQL> INSERT INTO k VALUES();
row inserted
SQL> INSERT INTO k VALUES();
row inserted
SQL> INSERT INTO k VALUES();
row inserted
-- 查询时加不加""都正常(似乎不太符合规范)
SQL> SELECT UID FROM k;
UID
---------- SQL> SELECT "UID" FROM k;
UID
--------------------------------------- -- update时必须加上""
SQL> UPDATE k SET UID= WHERE UID=;
UPDATE k SET UID= WHERE UID=
ORA-: invalid user.table.column, table.column, or column specification
SQL> UPDATE k SET "UID"= WHERE "UID"=;
1 row UPDATED
总结:oracle可以在"关键字"的形式引用关键字作为字段名与查询语句的别名。如果不是特殊情况最好不要使用,以免引起代码编写过程中的错误。
oracle关键字作为字段名使用方法的更多相关文章
- 将oracle关键字作为字段名
对于关键字比如:Level.uid.group等 如果在数据库设计的时候,没有考虑oracle数据库的特殊性时,可能会使用关键字作为字段名,从而在建表的过程中,提示错误:ORA-00904: inva ...
- 获取sqlserver数据库中所有库、表、字段名的方法
获取sqlserver数据库中所有库.表.字段名的方法 2009年03月12日 星期四 下午 12:51 1.获取所有数据库名: SELECT Name FROM Master..SysDatabas ...
- 关于MySql 关键字与字段名冲突 的问题
我在用mysql创建数据表时,其中一个表怎么创建都提示失败,最终我把语句翻来覆去折腾了许多遍之后发现原来我的一个字段值的名称为order的字段出了问题,把它去了就好了,最后结论就是设置字段值名称时不要 ...
- Java 存储和读取 oracle CLOB 类型字段的实用方法
import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import java.io.Str ...
- Oracle获取表字段名,字段类型,字段长度,注释
SELECT b.comments as 注释, a.column_name as 列名, a.data_type || '(' || a.data_length || ')' as 数据类型, a. ...
- mysql字段名与关键字重复解决办法
mysql 关键字与字段名相同,插入或者修改里会报错 解决办法: 1.改字段名,如果库里面表结构关系不复杂,修改字段名就解决 2.在插入或者修改字段时,字段名加上 ` 包上,注意:这里不是引号,是英 ...
- 动态查询:getBy字段名
http://www.php.cn/php/php-getBy.html 根据字段名动态查询:getBy字段名( ) 该方法很有意思,手册的说得很简略,我们根据源码来好好说道说道~~ 1. 功能:根据 ...
- mybatis逆向工程,实现join多表查询,避免多表相同字段名的陷阱
mybatis逆向工程,实现join多表查询,避免多表相同字段名的陷阱 前言:使用 mybatis generator 生成表格对应的pojo.dao.mapper,以及对应的example的 ...
- mybaitis查询 (数据库与实体类字段名不相同)
1.这是我的数据库字段名和实体类字段名 2.方法 方法一: 查询的结果标题 会跟实体类的属性一一匹配,一定要一致就算数据库字段和属性不一致,我们可以把查询结果设置一个别名,让别名=属性名 方法二:使用 ...
随机推荐
- 计算机网络【1】—— OSI七层协议和TCP/IP四层协议
新开一贴,专门用来记录计算机网络相关知识. 一.OSI七层协议 物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 二.TCP/IP四层协议 网络接口层.网际层.运输层.应用层 三.五层协议 ...
- FlatBuffers初探
我第一次知道FlatBuffers是因为Facebook写的这篇Android的技术博客文章.它主要介绍了FlatBuffers对比JSON的优势,以及Facebook Android App应用了F ...
- C#:文件/注册表/线程的操作
文件的操作:(file与fileinfo,前者是静态方法,执行安全检查,适合对一个的操作) 1.1.create: using System; using System.Collections.Gen ...
- java的finally用法
finally作为异常处理的一部分,它只能用在try/catch语句中,并且附带一个语句块,表示这段语句最终一定会被执行(不管有没有抛出异常),经常被用在需要释放资源的情况下. 之前在写爬虫的时候数据 ...
- STL Queue 容器
STL Queue 容器 Queue简介 queue是队列容器,是一种“先进先出”的容器. queue是简单地装饰deque容器而成为另外的一种容器. # ...
- 【转】iBatis.Net的SqlMap.config文件
转自:http://www.xuebuyuan.com/579671.html iBatis.Net基本的运行环境配置主要由两个文件组成,分别是SqlMap.config和Provider.con ...
- 【BZOJ4205】卡牌配对
Description 现在有一种卡牌游戏,每张卡牌上有三个属性值:A,B,C.把卡牌分为X,Y两类,分别有n1,n2张. 两张卡牌能够配对,当且仅当,存在至多一项属性值使得两张卡牌该项属性值互质,且 ...
- Ansible基础概述
一.Ansible简介 Ansible基于Python语言实现,由paramiko和PyYAML两个关键模块构建.Ansible的编排引擎可以出色地完成配置管理,流程控制,资源部署等多方面工作.Ans ...
- html视频背景
视频作为网页背景的限制因素 在动手编码实现前,视频作为网页背景的有些问题我们要先考虑清楚: 并不是因为技术上可行你就可以任意使用:作为背景的视频内容必须能增强页面内容的感染力,而不是因为漂亮或技术上很 ...
- C++中#define用法
http://blog.sina.com.cn/s/blog_686188ef0100klku.html #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一 ...