45 个非常有用的 Oracle 查询语句
oracle 导入dmp文件 问题
手动修改数据:
select * from autosubmitinfo for update
查看所有表:
select table_name from user_tables
查看表结构:
第一个参数是我们要查询的对象,这里查的是表结构,所以是'TABLE'
第二个参数是我们要查的表的表名,这里的表名必须大写。
select dbms_metadata.get_ddl('TABLE','AUTOSUBMITINFO') from dual
查看当前用户的详细信息:
select * from user_users
查看当前用户的表:
select table_name from user_tables
分页功能:
>= y,<= x表示从第y行(起始行)~x行(结束行) 。
rownum只能比较小于,不能比较大于,因为rownum是先查询后排序的,例如你的条件为rownum>1,当查询到第一条数据,rownum为1,则不符合条件。第2、3...类似,一直不符合条件,所以一直没有返回结果。所以查询的时候需要设置别名,然后查询完成之后再通过调用别名进行大于的判断。
SELECT * FROM ( SELECT rownum rn, a.* FROM table_name a WHERE rownum <= x ) WHERE rn >= y; //结束行, x = startPage * pageSize //起始行, y = ( startPage - 1 ) * pageSize +1
查询最后一条数据:
注意 like 参数拼接 " % " 问题 !!!
SELECT t1.DATATIME, ROWNUM FROM( select * from cq_project_info WHERE UNITID = '3D42BED0E00000013CBBAE74ACF49DB8'AND CQ_DEFINEFLOW_ID ='779E24BEC5663D00A6C416DC6AA3EDEA' AND DATATIME LIKE '%R%' ORDER BY DATATIME DESC ) t1 WHERE rownum = 1; // 或者 select * from ( select * from cq_project_info WHERE UNITID = '3D42BED0E00000013CBBAE74ACF49DB8'AND CQ_DEFINEFLOW_ID ='779E24BEC5663D00A6C416DC6AA3EDEA' AND DATATIME LIKE '%R%' ORDER BY DATATIME DESC ) WHERE rownum = 1; // 或者 select MAX(t.DATATIME) from ( select * from cq_project_info WHERE UNITID = '3D42BED0E00000013CBBAE74ACF49DB8'AND CQ_DEFINEFLOW_ID ='779E24BEC5663D00A6C416DC6AA3EDEA' AND DATATIME LIKE '%R%' ORDER BY DATATIME DESC ) t ;