将oracle关键字作为字段名

对于关键字比如:Level、uid、group等

如果在数据库设计的时候,没有考虑oracle数据库的特殊性时,可能会使用关键字作为字段名,从而在建表的过程中,提示错误:ORA-00904: invalid IDENTIFIER。

解决方法:

1、设计数据库时,尽量不要使用数据库的关键字作为字段名

2、使用双引号("")标记

原文地址:https://www.cnblogs.com/zhuitian/p/11444085.html

时间: 2024-11-10 11:26:21

将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 -- 字段名加"&qu

用关键字做表名和字段时,如何删除

建表时千万要注意,避免使用关键字做表名和字段名. (1)在oracle中如果不小心用关键字做了字段名,在SQL中的使用方法:加上英文双引号,如下: 1 alter table RSFILEINFO drop column "DESC"; oracle中使用了关键字的字段常常不容易删除掉,要删除,使用上述语句.注意:删掉的字段名要大写. (2)在MySQL中如果使用了关键字,在SQL中的使用方法:加上符号·(倒符号,在数字键1的左边)如下: 1 select `desc` from ta

oracle 实现多字段匹配一个关键字查询语句

oracle 实现多字段匹配一个关键字查询语句:有两种方法(经测试,10g中不能用,11g才行): 第一种. select * from table where ('字段名1' ||'字段名2' ||...) like "%keyValue%"; 第二种:(1)如果是两个字段的话:select * from table where concat(字段名1,字段名2) like "%keyValue%";(2)如果是多个字段的话:select * from table

oracle表名、字段名等对象的命名长度限制

原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/45854385 今天在为某系统数据库结构整理升级脚本时,遇到了"命名字节过长的错误",类似于下面的截图语句: 由于升级的结构中对于字段名的命名根据业务进行了修改,出现了命名过长的情况. 这里想说一下,对于oracle,表名.字段名等对象命名字节个数限制在

创建数据库一定要注意字段名不能是关键字!

创建数据库一定要注意字段名不能是关键字! 创建数据库一定要注意字段名不能是关键字!,布布扣,bubuko.com

Oracle中使用游标获取指定数据表的所有字段名对应的字符串

操作步骤:打开PLSQL Developer后,直接执行下面的语句就可以出来 --Oracle中使用游标获取指定数据表的所有字段名对应的字符串 declare mytablename VARCHAR(255):='STAFFDOC'; --定义要查询的数据表名变量,STAFFDOC为我测试用的数据表名,请修改成您的数据库中的对应数据表名字mystring NVARCHAR2(4000):=''; --定义要输出的字符串变量 cursor mycursor is --定义游标          s

Oracle生成查询包含指定字段名对应的所有数据表记录语句

应用场合:已知字段名字,查询数据库中所有数据表中包含该字段名的所有数据表 操作办法:指定字段名,数据库表用户,执行下面查询语句即可 --Oracle生成查询包含指定字段名对应的所有数据表记录语句 declare mycolumnname VARCHAR(255):='userid';--定义要查询的字段名变量,运行前修改成您要查询的字段名myownername VARCHAR(255):='system';--定义要查询的数据库用户名变量,运行前修改成您要查询的数据库用户名mystring NV

SQLSERVER和ORACLE批量处理表名和字段名大写

在sql移植到oracle过程中,都会遇到表名和字段名大写的问题,因为在oracle中默认表名和字段名都是大写的,虽然可以通过使用双引号的方式进行操作,如select * from "testtable"但是很多情况下,这样做的代价很大,因为很多程序的代码是早已经写好的,而要修改oracle系统配置又不安全,一个比较稳妥的办法是批量修改表名和文件名. 先说在SQL中修改表名和字段名的办法:虽然在sql中默认是不区分表名和字段名的大小写的,但是通过sql的DTS进行数据导出导入的时候,如

Oracle获取表结构信息:表名、是否视图、字段名、类型、长度、非空、主键

select a.TABLE_NAME as "TableName", case when (select count(*) from user_views v where v.VIEW_NAME =a.TABLE_NAME )>0 then 'V' else 'U'end as "TableType", a.COLUMN_NAME as "ColumnName", A.COLUMN_ID as "ColumnIndex"