oracle关键字作为字段名使用方法_oracle

有时我们在定义字段名及别名时所用名与oracle关键字同名,这时该如何处理呢?
其实很简单,只要在此关键字加上"",如"group"
看下面的例子:

复制代码 代码如下:

SQL> DROP TABLE k;
Table dropped
-- 建立表K,字段名为UID(oracle关键字)
SQL> CREATE TABLE k(UID INT);
CREATE TABLE k(UID INT)
ORA-00904: : invalid IDENTIFIER
-- 字段名加""表创建成功
SQL> CREATE TABLE k("UID" INT);
Table created
--插入一些数据
SQL> INSERT INTO k VALUES(1);
1 row inserted
SQL> INSERT INTO k VALUES(2);
1 row inserted
SQL> INSERT INTO k VALUES(3);
1 row inserted
-- 查询时加不加""都正常(似乎不太符合规范)
SQL> SELECT UID FROM k;
UID
----------
5
5
5
SQL> SELECT "UID" FROM k;
UID
---------------------------------------
1
2
3

-- update时必须加上""
SQL> UPDATE k SET UID=5 WHERE UID=3;
UPDATE k SET UID=5 WHERE UID=3
ORA-01747: invalid user.table.column, table.column, or column specification
SQL> UPDATE k SET "UID"=5 WHERE "UID"=3;

1 row UPDATED
总结:oracle可以在"关键字"的形式引用关键字作为字段名与查询语句的别名。如果不是特殊情况最好不要使用,以免引起代码编写过程中的错误。

时间: 2024-09-25 06:21:06

oracle关键字作为字段名使用方法_oracle的相关文章

oracle date 类型字段的处理方法_oracle

(1)在英文版本的ORACLE中默认日期格式为'DD-MON-YY',例如'01-JAN-98' 在汉化的中文版本中ORACLE默认日期格式为'日-月-年',例如'21-8月-2003'或'21-8月-03' (2)转换字符串为日期 使用ORACLE内部函数to_date() to_date()函数的参数是to_char()函数参数的反转. to_date(string_value , date_format) 变量定义如下: string_value :为字符串直接值(字符串本身).字符串列(

oracle表,字段名有“/”在做hibernate映射时怎么做?

问题描述 oracle表,字段名有"/"在做hibernate映射时怎么做?<propertyname="bev2edUser"type="java.lang.String"><columnname="/BEV2/ED_USER"length="12"></column></property>这样会报错ORA-00904::标识符无效咋办啊? 解决方案 解决方

大神们,oracle表,字段名有“/”在做hibernate映射时怎么做?

问题描述 oracle表,字段名有"/"在做hibernate映射时怎么做?<propertyname="bev2edUser"type="java.lang.String"><columnname="/BEV2/ED_USER"length="12"></column></property>这样会报错ORA-00904::标识符无效咋办啊? 解决方案 解决方

oracle 使用sql获取数据库表、表的字段的多种方法_oracle

--第一种方法: 查询dba_tab_columns 复制代码 代码如下: select COLUMN_NAME,DATA_TYPE,DATA_LENGTH from dba_tab_columns where table_name =upper('表名') order by COLUMN_NAME --这种方法需要有DBA权限 --第二种方法: 查询user_tab_cols select COLUMN_NAME,DATA_TYPE,DATA_LENGTH from user_tab_cols

优化Oracle库表设计的若干方法_oracle

正在看的ORACLE教程是:优化Oracle库表设计的若干方法. 前言 绝大多数的Oracle数据库性能问题都是由于数据库设计不合理造成的,只有少部分问题根植于Database Buffer.Share Pool.Redo Log Buffer等内存模块配置不合理,I/O争用,CPU争用等DBA职责范围上.所以除非是面对一个业已完成不可变更的系统,否则我们不应过多地将关注点投向内存.I/O.CPU等性能调整项目上,而应关注数据库表本身的设计是否合理,库表设计的合理性才是程序性能的真正执牛耳者.

oracle实现多行合并的方法_oracle

本文实例讲述了oracle实现多行合并的方法.分享给大家供大家参考.具体分析如下: 在写sql时,经常会有将某列的字段合并起来,比如将某人名下每个月的工资列示,但是每个人只能占一行. 像这种场景,可能用行列转换也能实现,但如果这个月份的信息不固定,就无法使用行列转换了. oracle10g以后,提供了一个函数WMSYS.WM_CONCAT,能很轻松实现该功能. 复制代码 代码如下: select t.rank, WMSYS.WM_CONCAT(t.Name) TIME From t_menu_i

ASP获取数据库表名、库名、字段名的方法

 ASP获取数据库表名,字段名 以SQLServer为例: < %   SET Conn=Server.CreateObject("ADODB.Connection")   Conn.Open "Server=IP地址;Provider=sqloledb;Database=库名称;UID=用户名;PWD=密码;"   %> 读SqlServer库中的表名: < %   Set rs=Conn.OpenSchema(20)   While not r

dede5.7添加自定义字段名的方法讲解

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 用织梦系统做网站时,有些东西模板里面没有,但是织梦的功能是强大,你可以自己在后台添加需要的内容,自定义字段名,就是经常用的一个功能,比如:给商品定义一个价格,或者给发表的文章定义一个作者的联系QQ等,都可以通过"自定义字段名"来实现.在本例中,给大家讲如何添加一个网址字段名. 第一步:进入dede安装后台---> 点

ASP获取数据库表名、库名、字段名的方法_应用技巧

ASP获取数据库表名,字段名 以SQLServer为例: 复制代码 代码如下: < %   SET Conn=Server.CreateObject("ADODB.Connection")   Conn.Open "Server=IP地址;Provider=sqloledb;Database=库名称;UID=用户名;PWD=密码;"   %> 读SqlServer库中的表名: 复制代码 代码如下: < %   Set rs=Conn.OpenSch