不可不知的Oracle常用技巧
不可不知的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
DECLARE
v_job NUMBER;
BEGIN
dbms_job.submit(v_job, 'pr_tbclient_stat(trunc(SYSDATE));', trunc(SYSDATE), 'trunc(sysdate)+1+3/24');--3点执行job
COMMIT;
END;
Oracle 使用游标循环集合中的每一个元素
begin
for v1 in (select bookid,bookname from tmp_2014415_book t) loop
dbms_output.put_line(v1.bookid||' '||v1.bookname);
end loop;
end;
作者:樊勇
出处:http://www.cnblogs.com/fanyong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
我的联系方式:fanyong@gmail.com
个人独立博客:www.fy98.com