首页 > 数据库 >Oracle中不允许表的列名称使用Oracle声明的关键字! (ORA-01747: user.table.column, table.column 或列说明无效)

Oracle中不允许表的列名称使用Oracle声明的关键字! (ORA-01747: user.table.column, table.column 或列说明无效)

时间:2024-03-05 10:11:42浏览次数:20  
标签:column Oracle table ROWNUM prod SELECT

1.问题

ORA-01747: user.table.column, table.column 或列说明无效

-- Oracle下,根据商品价格从高到低取4-6名商品
SELECT *
FROM (
		SELECT ROWNUM, t1.*
		FROM (
			SELECT prod_name, prod_price 
			FROM PRODUCTS
			ORDER BY PROD_PRICE DESC
		) t1
		WHERE ROWNUM <= 6
	) t2
WHERE t2.ROWNUM > 3;

2.解决

这里只要给ROWNUM起一个别名即可,如下面的代码所示:

-- Oracle下,根据商品价格从高到低取4-6名商品
SELECT *
FROM (
		SELECT ROWNUM AS rm, t1.*
		FROM (
			SELECT prod_name, prod_price 
			FROM PRODUCTS
			ORDER BY PROD_PRICE DESC
		) t1
		WHERE ROWNUM <= 6
	) t2
WHERE t2.rm > 3;

标签:column,Oracle,table,ROWNUM,prod,SELECT
From: https://www.cnblogs.com/trmbh12/p/18053366

相关文章

  • Oracle拼接字段时,含字符类型拼接会多出空格?
    1.问题如下图所示,当我们在Oracle中使用||拼接字段时,若含字符char类型,会多出一些奇怪的空格,原因和如何解决呢?SELECTVEND_NAME||'('||VEND_COUNTRY||')'FROMVENDORSORDERBYVEND_NAME;2.解决出现这种情况的主要是因为变量的类型为char,因为char类型为固定长度......
  • TransmittableThreadLocal 如何解决在分布式环境下线程池中使用ThreadLocal的问题
    在分布式环境下,线程池中使用ThreadLocal会出现线程安全问题,因为线程池中的线程是可以被多个请求共享的,当多个请求同时访问同一个ThreadLocal变量时,会出现数据互相干扰的问题。为了解决这个问题,Java提供了TransmittableThreadLocal类。TransmittableThreadLocal是ThreadLocal的一......
  • Oracle数据库错误:ora-28014:cannot drop administrative users(无法删除管理用户或角色
    1.问题在创建用户test之后,删除时发生错误ora-28014:cannotdropadministrativeusers2.解决由于Oracle数据库要求创建用户必须以C##开头,在创建该用户时,我们设置了altersessionset"_oracle_script"=true;Oracle数据库如何解决创建用户名开头必须要C##问题?但是删除时,由......
  • 记一次在oracle数据库中添加全文索引的过程
    前景:在创建全文索引之前,有如下几个内容需要确认下:1.全文索引不支持nvarchar2类型,所以需要创建全文索引的字段的字段类型,如果是这个类型,可以修改为varchar2();2.如果需要创建全文索引的字段包含(1、中文、英文结合,或者纯英文;2、中文、数字结合,或者纯数字的)这几种情况的,需要对......
  • 使用setmetatable和__call元方法来实现根据字符串名字调用对应的函数
    cc.lualocalCMD={}--定义两个函数functionCMD.func1()print("Function1called")endfunctionCMD.func2()print("Function2called")endreturnCMD test.lualocalfunctions=require"cc"--设置表的元表和__call元方法se......
  • ULID(Universally Unique Lexicographically Sortable Identifier)是一种用于生成全局唯
    ULID(UniversallyUniqueLexicographicallySortableIdentifier)是一种用于生成全局唯一、可按字典序排序的标识符的格式。ULID结合了时间戳和随机数的特性,旨在提供高性能、低碰撞、可排序和易读的标识符。ULID的主要特点包括:全局唯一性:通过结合时间戳和随机数的方式,ULID可以生......
  • Oracle 表空间和数据文件遇到的坑 (转载于 微信公众号 JieKeXu DBA之路)
    转载链接https://mp.weixin.qq.com/s/IKF_KrWkxZ5BJS-OacYWUw前言本文适用于普通的标准的8k块大小的Oracle企业版数据库,10g、11g、19c均可适用,但对于ODA,一体机可能有所区别,请慎重使用1.db_files的坑记录一下年前遇到的一个关于表空间扩容的小问题,大家都知道对于Oracle......
  • 光标自动定位到起始位置contenteditable="true" ,v-html绑定内容,div可编辑时,光标移到最
    出现这个问题原因:(1)通过打断点可以看到,当你输入的时候触发input事件,提交值给父组件中的v-model;(2)但因为在子组件中又监听了v-model的值,所以整体形成了闭环;(3)还需要重点说明的是光标问题,contenteditable与v-html所在的元素值的改变如果不是通过输入而是通过赋值实现,光标就会跑到最......
  • CompletableFuture使用说明
    前言创建线程的方式只有两种:继承Thread或者实现Runnable接口。但是这两种方法都存在一个缺陷,没有返回值Java1.5以后,可以通过向线程池提交一个Callable来获取一个包含返回值的Future对象Future接口的局限性当Future的线程进行了一个非常耗时的操作,那我们的主线程也就阻塞了......
  • 数据表行的使用(DataTable)
    步骤建立一个结构体建立一个DataTable关联结构体蓝图调用如果新建变量,则需要将类型指定为DataTable类型并指定相应的DataTable输出行第二个常用节点(数据表行是否存在)第三个常用节点(输出列)......