不可不知的Oracle常用技巧
表復制
1.方法一:復制表結構和數據
create table temp_clientloginuser
as
select distinct userid from tbuserloginlog;
2.方法二:僅復制數據
-- 如果表結構一樣
insert into mytable select * from yourtable;
-- 如果表結構不一樣
insert into mytable(column1,column2...) select column1,column2 ... from yourtable;
3.方法三:僅復制表結構
create table tmp_tba
as
select * from tmp_tbb where 1=2;
Oracle中日期函數
sysdate : --系統日期 2013-2-28 15:55:33
to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss')
to_date('2004-05-07 13:23:44','hh24') --13
sysdate+1 --加一天
sysdate+1/24 --加1小時
sysdate+1/(24*60) --加1分鐘
sysdate+1/(24*60*60) --加1秒鐘
select to_date('2003-11-17','yyyy-mm-dd')+1 from dual; --2003-11-18
add_months(sysdate,1) --加一個月
add_months(sysdate,12) --加一年
刪除一列
oracle 刪除一列
alter table tb_user drop column username;
常用視圖
-- oracle 查詢分區表的行數,使用情況等信息
SELECT * FROM user_tab_partitions
-- oralce查詢用戶作業
select * from user_jobs;
新建job
DECLAREv_job NUMBER;
BEGINdbms_job.submit(v_job, 'pr_tbclient_stat(trunc(SYSDATE));', trunc(SYSDATE), 'trunc(sysdate)+1+3/24');--3點執行jobCOMMIT;
END;
Oracle 使用游標循環集合中的每一個元素
beginfor v1 in (select bookid,bookname from tmp_2014415_book t) loopdbms_output.put_line(v1.bookid||' '||v1.bookname);end loop;
end;