日期:2014-05-16 浏览次数:20520 次
-- 创建临时表空间 create temporary tablespace test_temp tempfile 'E:\app\tablespace\test_temp.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; --创建数据表空间 create tablespace test logging datafile 'E:\app\tablespace\test.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; -- 创建用户 create user chentao identified by chentao default tablespace test temporary tablespace test_temp; --给用户援权 grant resource,connect,dba to test; --给表添加字段,可批量 alter table tab_name add(col_name1 varchar2(20),col_name2 varchar2(20)); -- 删除字段,可批量 alter table tab_name drop column col_name1,col_name2; -- 添加字段描述 comment on column tab_name.username IS '用户名'; -- 更改字段默认值 alter table tab_name modify username default 'chentao' -- 删除约束 alter table tab_name drop constraint foreign_key_name -- 查询用户下所有表 select 'Drop table '||table_name||';' from all_tables where owner='数据库用户名'; select * from all_tables where table_name='sales_card_body' -- 查询某个时段的数据 select * from ( select * from tbl_name as of timestamp to_timestamp('2011-7-22 13:00:00','yyyy-mm-dd hh24:mi:ss') ) where head_id is not null; -- 更改某表字段类型,考虑到字段本身有数据所以采用此方法更新 ALTER TABLE LOG_ACTIVITY_MAIN ADD(CARD_ID_TEMP NUMBER); alter table tab_name add(col_name_temp number); -- Add/modify columns update tab_name set col_name_temp=col_name,colname=null; commit; alter table tab_name modify col_name varchar2(15); update tab_name set col_name=col_name_temp,col_name_temp=null; commit; alter table tab_name drop column col_name_temp; alter table tab_name modify col_name not null; -- 创建序列 create sequence seq_tab_name_id minvalue 1 maxvalue 999999999999999999999999999 start with 1 increment by 1 cache 20; Oracle毫秒日期转换 --毫秒转日期 select 1197902428593/1000/60/60/24+to_date('1970-01-01 08:00:00', 'yyyy-MM-dd hh:mi:ss') from dual; --1197900835625 --日期转毫秒 select (to_date('2006-1-1 12:30:25', 'yyyy-mm-dd hh:mi:ss') - TO_DATE('1970-1-1', 'yyyy-mm-dd')) * 24 * 60 * 60 * 1000 resulttime from dual; -- 日期相减,减一年 select sysdate - 365 from dual; -- for 的应用 set serveroutput on; begin dbms_output.put_line('打印倒三角形'); for i in 1..9 loop for j in reverse i..9 loop --reverse对值进行从大到小的循环 dbms_output.put('*'); end loop for_j; dbms_output.new_line;--用于在缓冲区中添加换行符 end loop for_i; end; -- 判断一个表是否存在 declare nums number; begin select count(1) into nums from user_tables where table_name= 'TMP_CAT'; if nums>0 then execute immediate 'drop table TMP_CAT'; end if; end; ?-- 修改tablename1表中的 column1字段值为tablename2表的column1,如果column1为空,则默认值为1 update tablename1 tn set tn.column1 = nvl((select max(tn2.column1) from tablename2 tn2 where tn.id = tn2.id),1)