1、drop table表后恢复数据
select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;
--闪回
flashback table 表名 to before drop;
flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0" to before drop;
-------------------------------恢复表数据 ctrl+E----------------------------
select * from v$sqlarea order by first_load_time desc
2017-08-25/21:33:13
create table CIITC_total_check_sql_new --新表
as select * from CIITC_total_check_sql--你操作的那张表
as of timestamp to_timestamp('2017-08-25 21:33:13','yyyy-mm-dd hh24:mi:ss');
select * from CIITC_total_check_sql_new
操作成功后你看看新表里面是不是你之前的数据.如果是的话再把新表数据弄到原表就好了
2、Oracle trunc()函数的用法
/**************日期********************/
1.select trunc(sysdate) from dual ; --2011-3-18 今天的日期为2011-3-18
2.select trunc(sysdate, 'mm') from dual --2011-3-1 返回当月第一天.
3.select trunc(sysdate,'yy') from dual --2011-1-1 返回当年第一天
4.select trunc(sysdate,'dd') from dual --2011-3-18 返回当前年月日
5.select trunc(sysdate,'yyyy') from dual --2011-1-1 返回当年第一天
6.select trunc(sysdate,'d') from dual --2011-3-13 (星期天)返回当前星期的第一天
7.select trunc(sysdate, 'hh') from dual --2011-3-18 14:00:00 当前时间为14:41
8.select trunc(sysdate, 'mi') from dual --2011-3-18 14:41:00 TRUNC()函数没有秒的精确
/***************数字********************/
/*
TRUNC(number,num_digits)
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入
*/
9.select trunc(123.458) from dual --123
10.select trunc(123.458,0) from dual --123
11.select trunc(123.458,1) from dual --123.4
12.select trunc(123.458,-1) from dual --120
13.select trunc(123.458,-4) from dual --0
14.select trunc(123.458,4) from dual --123.458
15.select trunc(123) from dual --123
16.select trunc(123,1) from dual --123
17.select trunc(123,-1) from dual --120
3、新建一个自增序列
select Count(*) From USER_SEQUENCES Where SEQUENCE_NAME='SEQ_LCINSUREDINFO';
--删除创建好的序列
drop sequence SEQ_LCBNFINFO;
--SEQ_LCRISKINFO名字必须全部大写,LCRISKINFO表示表名
create sequence SEQ_LCRISKINFO
minvalue 1
maxvalue 99999999999999999999
start with 1
increment by 1
nocache;
---------------------------------为自增的id赋值-----------------------------------------------
select SEQ_LCCONTINFO.nextval from dual
--String id = tExeSQL.getOneValue(sql);
4、按序排列
-----------------------降序排列------------------------------------------
SELECT * FROM Customers ORDER BY Country DESC;
-------------------------升序排列-------------------------------------------
SELECT * FROM Customers ORDER BY Country ASC;
5、使用 SQL [charlist] 通配符
-- % 替代 0 个或多个字符 _ 替代一个字符 [charlist] 字符列中的任何单一字符 [^charlist] or [!charlist] 不在字符列中的任何单一字符
SELECT * FROM Customers WHERE City LIKE '[bsp]%'; --选取 City 以 "b"、"s" 或 "p" 开始的所有客户
SELECT * FROM Customers WHERE City LIKE '[a-c]%'; --选取 City 以 "a"、"b" 或 "c" 开始的所有客户
SELECT * FROM Customers WHERE City LIKE '[!bsp]%'; --选取 City 不以 "b"、"s" 或 "p" 开始的所有客户
SELECT * FROM Customers WHERE City LIKE '_erlin'; --选取 City 以一个任意字符开始,然后是 "erlin" 的所有客户
6、查询oracle中指定用户的所有表
SELECT * FROM ALL_TABLES WHERE OWNER='用户名';