
oracle 开发基本知识点小总结
woqiang68
这个作者很懒,什么都没留下…
展开
-
oracle开发中date类型的查询与添加
假设在test_main表中有一date类型列为riqi,插入数据:insert into test_main(riqi) values(to_date('2012-03-01 15:12:24','yyyy-mm-dd hh24:mi:ss'));查询数据:查询时,select to_char(riqi,'yyyy-mm-dd hh24:mi:ss') from test原创 2013-04-13 15:06:25 · 946 阅读 · 0 评论 -
子查询中禁止使用order by
在子查询中禁止使用order by经典查询:1.select job,min(sal),max(sal) from emp group by jobhaving job='CLERK'2. select ename,sal,job from emp where job 3. select ename,sal,job from emp where sal4.any(大于最原创 2013-06-28 13:54:57 · 1037 阅读 · 0 评论 -
oracle中日期,数字,字符串之间的相互转换
1.日期型转换成字符串select to_char(sysdate,'YY-MM-DD') from dual;YYYY(完整的年份)YEAR(年份英文表示)MM(月份)MONTH(英文表示的月份)DY(英文缩写表示星期几)DAY(英文表示的星期几)DD(几号)2.数字转化为字符串9(一位数字)0(显示前导零)$(美元)L(本地货币).(显示小数点),(显示千位符)MI(在数的原创 2013-06-28 13:58:52 · 2140 阅读 · 0 评论 -
PL/SQL变量中的LOB类型
1.LOB变量分为内部的和外部的内部LOB包括(CLOB,BLOB,NCLOB)它们的数据存储在数据库中支持实务操作;外部LOB只有BFILE一种类型,该类型的数据存储在OS文件中,不支持实务操作。CLOB/NLOB用于存储大批量字符数据,BLOB用于存储大批量二进制数据(图片/映像),而BFILE存储指向OS文件的指针.原创 2013-06-28 14:06:53 · 995 阅读 · 0 评论 -
oracle中的常量和变量
1.从例子中掌握:v_ename varchar2(10);v_sal number(6,2);v_balance binary_float;--Oracle 10g新数据类型c_tax_rate constant number(3,2):=5.5;--constant表示定义的是常量,定义常量的时候必须制定它的初始值,并且其数值不能改变。v_hiredate date原创 2013-06-28 14:13:25 · 2687 阅读 · 0 评论 -
oracle中复合变量的用法
1.复合变量例子(1)PL/SQL记录declaretype emp_record_type isrecord(name test.ename%type,salary test.sal%type,title test.job%type);emp_record emp_record_type;beginselect ename,sal,job into原创 2013-06-29 10:54:43 · 1300 阅读 · 0 评论 -
oracle游标处理多行记录
1.查询工资大于10号部门平均工资的职工信息declarecursor cc is select * from emp where sal>(select avg(sal) from emp where deptno=10);ccrec cc%rowtype;beginopen cc;loopfetch cc into ccrec;exit when cc%notf原创 2013-06-29 10:57:58 · 1662 阅读 · 0 评论 -
复杂的存储过程例子
1.简单输出create or replace procedure t_xuanze(name in varchar)astname varchar(10);begindbms_output.put_line('this is error!');end;(注意:1.没有declare;2.形参上没有类型范围)/////////////////////////////原创 2013-06-29 11:00:07 · 2896 阅读 · 0 评论 -
操作表空间命令一系列
1.alteralter tablespace tbs_property offline temporary;//设置表空间offline,不可用alter tablespace tbs_property online; //设置表空间onlinealter tablespace tbs_property read only; //设置为只原创 2013-06-29 11:17:18 · 1136 阅读 · 0 评论 -
oracle用户角色授权限操作命令
1.常见的授权系统特权允许执行的操作Create session 连接数据库Create sequence 创建序列Create synonym 创建同名对象Create table 创建表Create any table 创建任何模式的表原创 2013-06-29 11:33:11 · 1102 阅读 · 0 评论 -
oracle触发器基本知识
触发器的设计分类:行级触发器;语句触发器 、、触发器不接受参数。 2.事务:删除事务可以使用回滚来恢复一下。原子性(atomicity)一致性() 只有commit后,才会保证不同用户看到的数据是一致的。 隔离型永久性Createor replace trigger del_deptidAf原创 2013-07-01 19:06:30 · 693 阅读 · 0 评论 -
isqlplus
Sqlplus: Set nls_date_format=’yyyy-mm-dd hh24:mi:ss’;以特定格式显示日期 1.Services.msc启动服务管理器,打开oracle服务:SQL>list // 列出缓冲区内容SQL>ed //打开记事本,进行全屏编写 ,在UNIX系统中,是输入vi 2.保存命令:SQL>select *原创 2013-07-01 19:23:00 · 906 阅读 · 0 评论 -
逻辑备份,冷备份与热备份步骤过程
备份与恢复(1)逻辑备份:expzgk/zgk@orcl 输入缓冲区大小 >5000 备份路径>i:\mybak.dmp逻辑恢复:imp zgk/zgk>i:\test.dmp (2)物理备份:冷备份(脱机):(非归档模式下进行)#conn sys/oracle@ orcl as sysdba>Shutdownimm原创 2013-07-01 19:26:41 · 1726 阅读 · 0 评论 -
查询当前回话的等待事件
desc v$sessionselect event,wait_class from v$session;原创 2013-07-01 19:04:55 · 730 阅读 · 0 评论 -
设置dual表中查询sysdate的格式
SQL> show parameter nls_date_formatNAME TYPE VALUE------------------------------------ ----------- --------nls_date_format string原创 2013-08-12 09:17:49 · 1118 阅读 · 0 评论 -
oracle中的表操作
1.修改特定列的数据类型alter table test modify num varchar(10);2.添加一列alter table test add name varchar(10);3.删除无用的列alter table test set unused column name;或 alter table test set unused(num);alter原创 2013-06-28 13:52:24 · 619 阅读 · 0 评论 -
oracle中的数字函数
数字函数:select trunc(123.4567,2) from dual;截取小数点两位(不四舍五入)select round(123.428,2) from dual;四舍五入小数点后两位select mod(100,12) from dual;取余数日期函数:如果我们现在使用的是中文操作系统,而数据库的数据集是英文的.alter session set NLS_D原创 2013-06-28 13:49:49 · 760 阅读 · 0 评论 -
oracle创建varray
1.创建一个varraycreate type articl_type asobject(title varchar2(30),pubdate date);create type article_array isvarray(20) of article_type;create table author(id number(6),name varchar2(原创 2013-06-28 14:09:00 · 918 阅读 · 0 评论 -
oracle开发中的存储过程,游标,if判断经典例子
、、、存储过程由浅到深:1.简单输出create or replace procedure t_xuanze(name in varchar)astname varchar(10);begindbms_output.put_line('this is error!');end;(注意:1.没有declare;2.形参上没有类型范围)/////////////原创 2013-04-17 22:39:23 · 7541 阅读 · 0 评论 -
对sequence解析
语法:create sequence 序列名start with n 初始值increment by n 增长值maxvalue n|nomaxvalue 最大值 minvalue n|nominvalue 最小值cache n|nocache (把n个连续的序列号保存在内存中)cycle |nocycle (达到最大值或最小值是否重新循环)例:原创 2013-05-23 00:27:19 · 710 阅读 · 0 评论 -
sql*plus中的几种格式化命令
1.set heading off:去掉列名2.set pagesize 0不限制每页显示的记录数3.set echo off执行脚本时不显示文件内容4.set verify off不显示变量值的确认信息5.set feedback off不返回查询所影响的行数原创 2013-05-22 13:04:37 · 1089 阅读 · 0 评论 -
oracle中的视图和内联视图
1.创建视图create or replace view acct asselect id,iname from test1;2.查询视图详细信息select view_name,text from user_views;3.创建with check option视图(可同步原表)create view v_test2 as select * from test2w原创 2013-06-28 13:59:57 · 1368 阅读 · 0 评论 -
oracle中的索引和约束
1.创建一般的索引create index ename_idx on emp(ename);2.查询用户下索引信息select index_name,index_type,table_name,uniqueness from user_indexes;3.查询索引所在列的信息select index_name,table_name,column_name,column_posi原创 2013-06-28 14:01:12 · 811 阅读 · 0 评论 -
PL/SQL块
1.plsql块格式declare---(定义部分)begin---(执行部分是必须的)exception--(处理错误部分)end;2.简单的程序块begindbms_output.put_line('we are students!');end;3.输入变量的程序块declarev_ename varchar2(10);begin原创 2013-06-28 14:07:47 · 717 阅读 · 0 评论 -
oracle中的字符型函数
1.字符型函数 select lower('ABC') from dual;转化为小写select lower(ename) from scott.emp;select upper('abcse') from dual;转化为大写select upper(ename) from scott.emp;select initcap('we rea good HELL') from原创 2013-06-28 13:48:10 · 819 阅读 · 0 评论 -
oracle的替代变量
1.select empno,ename,sal,job,deptno from empwhere deptno=&no2.对字符变量的处理select ename,job from emp where job=&job;输入的变量添加''3.复用替代变量(&&)select ename,job,&&v_col from emporder by &v_col原创 2013-06-28 14:02:07 · 1238 阅读 · 0 评论 -
PL/SQL中的%type类型变量
关于%type的例子declare v_ename test.ename%type;v_sal test.sal%type;c_tax_rate constant number(3,2):=0.03;v_tax_sal v_sal%type;beginselect ename,sal into v_ename,v_salfrom test where empno=&原创 2013-06-28 14:05:47 · 958 阅读 · 0 评论 -
oralce创建包和包体并调用
1.包的构成:包规范与包体(1)包规范create package emp_pkg isprocedure update_sal(name varchar2,newsal number);function annual_income(name varchar2) return number;end;(2)包体create or replace package bod原创 2013-06-28 14:10:10 · 1126 阅读 · 0 评论 -
编写PL/SQL编码规则
1.定义规则定义变量时,建议使用v_作为前缀,例如v_sal,v_job等定义常量时,建议使用c_作为前缀,例如c_rate定义游标时,建议使用_cursor作为后缀,例如emp_cursor定义例外时,建议使用e_作为前缀,例如e_integrity_error.定义PL/SQL表类型时,建议使用_table_type作为后最,例如sal_table_type定义PL/S原创 2013-06-28 14:12:17 · 928 阅读 · 0 评论 -
oracle中的savepoint设置
1.设置回滚点SQL>delete from a where idSQL>savepoint aa;SQL>delete from a where idSQL>rollback to aa;2.设置事务只读set transaction read only;原创 2013-06-28 13:43:54 · 945 阅读 · 0 评论 -
sql中开发常用的函数
1.别名;select empno 'Employee Number',ename name,(500+sal)*12 "Annual Salary"from emp;select ename ||'annual salary is'||(500+sal)*12 "Employee's Salary" from emp;select ename ||'年薪为:'||(500+s原创 2013-06-28 13:56:45 · 885 阅读 · 0 评论 -
oracle中的分组函数
1.count函数select count(comm) from scott.emp;返回列值不为空的信息统计2.avgselect avg(NVL(comm,0)) from scott.emp;3.sum4.min与max5.group byselect job,avg(sal) from scott.emp group by job order by avg原创 2013-06-28 13:57:40 · 761 阅读 · 0 评论 -
oracle的序列与同义词
一.序列1.格式:create sequence 序列名start with nincrement by nmaxvalue n|nomaxvalue minvalue n|nominvaluecache n|nocache (把n个连续的序列号保存在内存中)cycle n|nocycle|cycle 20 (是否循环)2.创建一个序列create原创 2013-06-28 14:03:16 · 883 阅读 · 0 评论 -
dbms_random.value生成随机数
使用dbms_random.value生成随机数:在oracle官方文档中,关于dbms_random.value的定义如下:VALUE FunctionsThe basic function gets a random number, greater than or equal to 0 and less than 1, with 38 digits to the right o原创 2014-02-19 15:54:27 · 1538 阅读 · 0 评论