设为首页 加入收藏

TOP

Oracle备忘录1(四)
2015-11-21 01:32:56 来源: 作者: 【 】 浏览:2
Tags:Oracle 备忘录
的最大整数,忽略余数 CEIL(A);――返回大于或者等于n的最小整数 SELECT SYSDATE FROM dual;――返回系统时间 SELECT * FROM EMP WHERE sysdate>ADD_months(hiredate,8);返回系统时间8个月之前的员工 SELECT trunc(sysdate-hiredate) "入职天数" FROM EMP; ――返回入职天数 SELECT hiredate,ename FROM EMP WHERE last_day(hiredate)-2=hiredate; ――返回每月倒数第2天的员工 转换函数: TO_CHAR(A,''); TO_DATE(A,''); 系统函数: SELECT sys_context('USER env','db_NAME') FROM dual; ――language:当前语言,SESSION_USER :当前用户,current_schema:当前方案 进行行迁移: INSERT INTO r2(A1,A2,A3) SELECT a1,a2,a3 FROM r1 WHERE ...; 导出: 导出表,导出方案,导出数据库 EXP命令,要从命令行进入oracle中的bin 目录 USER id,TABLEs,owner,full=y,inctype,rows,file 导出表的结构而不导入数据: EXP USER id=learning/123456@XE TABLEs=(EMP) file=E:\DeskTop\EMP.dmp rows=n 导出表: EXP USER id=learning/123456@XE TABLEs=(EMP) file=E:\DeskTop\EMP.dmp 下面这种方式导出快 EXP USER id=learning/123456@XE TABLEs=(EMP) file=E:\DeskTop\EMP.dmp direct=y 导出方案: EXP USER id=learning/123456@XE owner=learning file=E:\DeskTop\EMP.dmp 导出全部: EXP USER id=system/123456@XE full=y inctype=complete file=E:\DeskTop\EMP.dmp 导入表的结构,而不导入表的数据: IMP USER id=learning/123456@XE TABLEs=(EMP) file=E:\DeskTop\EMP.dmp rows=n 导入表: IMP USER id=learning/123456@XE TABLEs=(EMP) file=E:\DeskTop\EMP.dmp 导入数据,如果表已经存在只导入数据: IMP USER id=learning/123456@XE TABLEs=(EMP) file=E:\DeskTop\EMP.dmp ignore y 导入表到其他用户 IMP USER id=system/123456@XE TABLE=EMP file=E:\DeskTop\EMP.dmp TOUSER =learning; 导入数据库: IMP USER id=system/123456@XE full=y file=E:\DeskTop\EMP.dmp TOUSER =learning; 建立表空间: CREATE TABLESPACE data01 datafile 'E:\data01.dbf' size 20m uniform size 128k; 增加数据文件: ALTER TABLESPACE data01 ADD datafile 'E:\data02.dbf' size 20m; 增加数据文件的大小: ALTER TABLESPACE data01 'E:\data01.dbf' resize 20m; 设置文件的自动增长: ALTER TABLESPACE data01 'E:\data01.dbf' auTOextEND on next 10m maxsize 500m; 磁盘损坏时的做法: 确定数据文件所在的表空间: SELECT TABLESPACE_NAME FROM dba_data_files WHERE file_NAME='E:\data01.dbf'; 使表空间脱机: ALTER TABLESPACE data01 offline; 移动表空间: host move E:\data01.dbf D:\data01.dbf 对数据库文件进行逻辑修改: ALTER TABLESPACE data01 RENAME datafile 'E:\data01.dbf TO D:\data01.dbf'; 使得表空间联机: ALTER TABLESPACE data01 online; 使用数据库表空间: CREATE TABLE r(deptno NUMBER(4),dNAME varchar2(14),loc varchar2(13)) TABLESPACE data01; 查询表空间中的表: SELECT * FROM all_TABLEs WHERE TABLESPACE_NAME='DATA01';//注意大写 查询表处于哪个表空间: SELECT TABLESPACE_NAME,TABLE_NAME FROM USER _TABLEs WHERE TABLE_NAME='EMP'; //注意大写 删除表空间: DROP TABLESPACE DATA01 including contents and datafiles; 表级定义: 在定义了列之后添加约束 列级定义: 在定义列的同时添加约束 创建一个存储过程,该过程可以向某表中添加记录 CREATE TABLE mytest( name VARCHAR2(30), password VARCHAR2(30) ); CREATE OR REPLACE PROCEDURE b IS BEGIN --执行部分 INSERT INTO mytest VALUES('jack','123456'); END; / CREATE OR REPLACE PROCEDURE b IS BEGIN --执行部分 DELETE FROM mytest WHERE name='jack'; END; / REPLACE表示如果有相同的过程名就替换,b表示过程名 查看错误信息: SHOW error; 如何调用该过程 1:EXEC 过程名(参数值1,参数值2); 2:CALL 过程名(参数值1,参数值2); 定义常量时,建议用v_作为前缀v_sal 定义常量时,建议用c_作为前缀c_rate 当定义游标时,建议用_cursor作为后缀EMP_cursor 当定义例外时,建议用e_作为前缀e_error SET serveroutput ON;--开启显示内容 SET serveroutput OFF--关闭显示内容 BEGIN DBMS_OUTPUT.PUT_LINE('helloworld'); END; /--这个最后在加上 --显示雇员名,薪水 DECLARE v_ename VARCHAR2(5); v_sal NUMBER(7,2); BEGIN SELECT ename,sal INTO v_ename,v_sal FROM EMP WHERE EMPno=&no; --输出 DBMS_OUTPUT.PUT_LINE('雇员是:'||v_ename
首页 上一页 1 2 3 4 5 下一页 尾页 4/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇关于Oracle实时数据库的优化思路 下一篇ORACLE逻辑备份与恢复

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: