Oracle
文章平均质量分 69
spongcer
这个作者很懒,什么都没留下…
展开
-
Oracle OCI :OCI程序设计流程
1、创建环境句柄(分配句柄)2、通过环境句柄分配服务器句柄3、通过环境句柄分配错误处理句柄4、测试服务器是否能够被连接(实例化服务器句柄)5、通过环境句柄分配服务器上下文句柄6、设置服务器上下文句柄的服务器属性(后面还需要设置其会话属性)7、通环境句柄分配用户会话句柄8、设置用户会话句柄的用户名和密码属性9、建立用户会话连接,测试是否能够连接成功(实例化用户会话句柄原创 2013-05-27 20:35:00 · 815 阅读 · 1 评论 -
Oracle Database :玩转Oracle学习笔记之(22):Oracle选择
该选择什么数据库:1、项目的规模;a、项目负载多大,用户多大; b、项目成本; c、安全性;原创 2013-06-07 09:32:13 · 693 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(20):Oracle远程连接以及连接命令
ORACLE客户端连服务器的注意事项 1. 通过SQL*NET协议,ORACLE客户端连服务器时一般需要配置sqlnet.ora和tnsnames.ora,init.ora。 它们默认的目录在$ORACLE_HOME/network/admin 目录下 也可以设置环境变量TNS_ADMIN指向你想用的sqlnet.ora和tnsnames.ora目录原创 2013-06-07 09:29:04 · 837 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(18):Orcle权限
一、权限分类: 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理: 1、系统权限分类: DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构原创 2013-06-07 09:25:27 · 707 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(16):PLSQL触发器
触发器:是指隐含的执行的存储过程;当定义触发器时候,必须要知道触发的时间和触发操作,常用的触发事件有insert , update ,delete语句,而触发器操作实际就是一个pl/sql块;可以用create trigger来创建触发器;原创 2013-06-07 09:14:34 · 647 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(15):PLSQL函数包
Ⅰ、介绍:在编写pl/sql程序时候,可以定义变量和常量,在pl/sql中包括有:标量类型(scalar)复合类型(composite)参照类型(reference)lob(large object);㈠、标量:(scalar)常用的类型:在编写pl/sql的时候,如果要使用变量,需要在定义部分定义变量;pl/sql中定义变量和常量的语法如下:ide原创 2013-06-07 09:13:48 · 732 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(14):PLSQL函数包
过程:用于执行特定的操作,既可以指定输入参数(in) , 也可以指定输出参数(out)。通过在过程中输入参数,可以将数据传递到执行部分;通过使用输出参数,可以将过程执行部分的数据传递到应用环境;在qplsql中可以使用create procedure 命令来创建过程;①、案例一:SQL> create procedure sp_pro3(spName varchar原创 2013-06-07 09:10:07 · 618 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(12):PLSQL控制结构
Ⅰ、介绍:条件,循环,顺序控制结构;Ⅱ、条件分支语句;if--then , if--then--else, if--then--elseif --else;㈠、简单的判断语句;SQL> --编写一个过程,可以输入一个员工名,SQL> --如果该员工工资低于2000,就给该员工增加10%;SQL> create or replace procedure mypro(spN原创 2013-06-07 09:04:31 · 634 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(9):案例
declare --define a variable; v_ename varchar2(5); v_sal number(7,2);begin --exec part; select ename , sal into v_ename , v_sal from emp where empno=&aa; --display messgae in原创 2013-06-07 08:47:24 · 682 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(24):Oracle视图
Ⅰ、介绍:视图是一个虚拟表,其内容有查询定义,同真实的表一样,视图包含一系列带有名称的行和列数据,但是视图并不再数据库中一存储的数据值集形式存在。行和列的数据来自由定义视图的查询所引用的表,并且咋引用视图时动态生成;㈠、案例:①、如果要显示各个雇员的名字和他所在部门的名称,必须用两张表;但是现在只想用一张表就能完成;②、假设管理员创建了一个用户,小红,但是希望小红只能够查询原创 2013-06-07 09:42:17 · 707 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(25):Oracle事务
oracle事务:1、什么是事务:事务用于保证数据的一致性,他由一组相关的DML(增加,删除,修改)语句组成,改组的DML语句要么全部成功,要么全部失败;务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transact原创 2013-06-07 09:43:28 · 667 阅读 · 0 评论 -
Oracle Databases : Oracle CBO 学习笔记之(1) : 深入理解Oracle Hash Join的代价模型及其执行流程
Oracle CBO之Oracle Hash Join从整体上看,Oracle的Hash Join的原理和其它主流数据库的Hash Join的原理大致是一样的,只是Oracle对Hash Join进行了更为细粒度的划分,其中最为主要的就是,Oracle根据其内部的hash_area_size、_hash_multiblock_io_count、db_block_size以及需要构建hash原创 2013-06-04 19:17:01 · 2073 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(28):Oracle表空间和数据文件
1、Oracle表空间和数据文件:介绍:表空间是数据库的逻辑组成部分,从物理上见,数据库数据存放在数据文件中,从逻辑上见,数据库则是存放在表空间中,表空间有一个或是多个数据文件组成;2、数据库的逻辑结构;Oracle中逻辑结构包括表空间,段,区和块;数据库由表空间构成,而表空间有是有段构成,而段有又是由区构成,而区又是由Oracle块构成的这样一种结构,可以提高数据库的效率;原创 2013-06-07 09:50:42 · 731 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(23):Oracle数据库管理--导入及导出
1、Oracle数据库管理员的职责:1)、安装和升级Oracle数据库;2)、创建表,表空间,数据库,视图,索引等;3)、指定并实施备份与恢复计划;4)、数据库权限管理,调优,故障排除;5)、对于高级DBA(database administratro),要求能够参与项目开发,会编写sql语句、存储过程、触发器、规则、约束、包;2、管理数据库的用户主要是SYS和SY原创 2013-06-07 09:40:31 · 1162 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(21):Oracle用户和用户管理
1、SYS是超级用户,具有最高权限,具有syadba角色,有create database的权限;2、system用户是管理操作员,权限也很大,具有sysoper角色,没有create database的权限;3、一般来讲,对数据库维护使用system登陆就可以了;传统的数据库系统,比如SQL Server,当我们用一个用户登录的时候,我们可以通过这个用户看到很多的数据库,而且原创 2013-06-07 09:31:21 · 885 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(17):PLSQL编写分页过程
Ⅰ、介绍:分页是任何一个网站都会使用到的技术,因此学习pl/sql一定要掌握分页技术;Ⅱ、简单的存储过程:无返回值的存储过程:--现有异常表book:书号,书名,出版社;--编写一个过程,可以向表中添加书籍,--通过Java调用该过程 ;SQL> --建表book;SQL> create table book( 2 bookId number , 3 bookN原创 2013-06-07 09:21:11 · 723 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(11):PlSQL块
6、块介绍:块(block)是pl/sql的基本程序单元,编写pl/sql程序实际就是编写pl/sql块。要完成相对简单的应用功能,可能只需要编写一个pl/sql块,但如果要想实现复杂的功能,可能需要在每个pl/sql块中嵌套其他的pq/sql块;㈠、块的结构:定义部分;执行部分;例外部分;①、declare:定义部分;定义常量,变量。游标,例外,复杂数据类型;该部分是可选的;原创 2013-06-07 09:02:13 · 865 阅读 · 3 评论 -
Oracle Database :玩转Oracle学习笔记之(19):orcle角色(2)
一、何为角色? 我在前面的篇幅中说明权限和用户。慢慢的在使用中你会发现一个问题:如果有一组人,他们的所需的权限是一样的,当对他们的权限进行管理的时候会很不方便。因为你要对这组中的每个用户的权限都进行管理。 有一个很好的解决办法就是:角色。角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。那么上述问题就很好处理了,只要第一次将角色赋给这一组用户,接下来就只要原创 2013-06-07 09:27:05 · 630 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(26):Oracle命令
1、conn[ect]:用法:conn 用户名/密码@网络服务名 [as sysdba/sysoper];当用特权用户身份连接时,必须带上 as sysdba 或者 as sysoper;2、disc[onnect];说明:该命令用来断开于当前数据库的连接;3、passw[ord]:说明:改命令用来写该用户的密码,如果想要修改其他用户的密码,需要使用sys或者system登陆;原创 2013-06-07 09:44:34 · 690 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(7):orcle角色(1)
角色:1、角色介绍:角色就是相关权限的命令集合,是用角色的主要目的就是为了简化权限的管理,假定有用户a,b,c,为了然他们都拥有有链接数据库的权限和在scott.emp表上进行select,insert和update权限的话,采用直接授权的方式,则需要进行12次授权;2、预定义角色:值Oracle所提供的角色,每种角色都用于执行一些特定的管理任务,下面介绍几种常见的预定义角色:co原创 2013-05-30 08:35:57 · 637 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(27):Oracle函数
1、字符函数:我们在这Oracle函数测试的时候,如果没有测试的表,我们可以用dual表;SQL> select mod(10 , 2) from dual;lower(char):将字符串转化为小写格式;upper(char) :将字符串转化为大写格式;length(char):返回字符串长度:substr(chat ,m , n):去字符串子串;(从地m个开始取原创 2013-06-07 09:46:57 · 694 阅读 · 0 评论 -
Oracle Database :Oracle11g SQL开发指南学习笔记之(6):Oracle概念
1、包含外键的表称为明细表(detail Table) 或字表(child table);被引用的表称为主表(master table) 或父表(parent table);2、复合主键:当主键有多列组成时候,称为复合主键;3、结果集:数据库返回的所有行称为结果集;原创 2013-05-29 20:36:46 · 875 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(5):数据对象
Oralce当中,将表,视图,触发器等称为数据对象,对于同一个数据库实例,可以有不同的用户区登陆,但是不同的用户,由于Oracle的权限控制,所能够看到的数据对象,和所能够操作的数据对象是不同的;原创 2013-05-29 20:55:12 · 512 阅读 · 0 评论 -
Oracle Database :Oracle11g SQL开发指南学习笔记之(1):使用简单函数
一、单行函数(single row function):单行函数同时只能对一行进行操作,并且对输入的每一行返回一行输出结果;二、聚合函数(aggregate function):聚合函数可以同时对多行进行操作,并返回一行输出结果;三、使用单行函数:字符函数,数字函数,转换函数,日期函数,正则表达式函数;1、字符函数:⑴ASCII(x),返回x的ASCII码;⑵CHR(x原创 2013-05-29 20:28:24 · 1073 阅读 · 1 评论 -
Oracle Database :Oracle11g SQL开发指南学习笔记之(3):结构化查询语言
SQL语句可以分为5类:㈠、查询语句:可以使用select编写查询语句;㈡、数据操纵语言(Data Mulipulation Language,DML):用于修改表内容:有三种:①、Insert ;② 、 UPDATE ③、DELETE;㈢、数据定义语言:(Data Definition Language , DDL):用于定义构成数据库的数据结构;有5中基本类型:原创 2013-05-29 20:33:31 · 703 阅读 · 0 评论 -
Windows下卸载Oracle
一、以NT的Administrator 登陆;二、通过控制面版-〉服务,停掉所有Oracle服务;到360软件管理中卸载Oracle Data Provider for .NET help;三、打开注册表(REGEDIT命令),删除下列所有项目:1、HKEY_CLASSES_ROOT\ORACLE中:从HKEY_CLASSES_ROOT\OracleConfig.Oracl原创 2013-05-29 20:40:35 · 818 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(4):索引
1、索引介绍:索引是用于加速数据存取的数据对象,合理的使用索引可以大大降低i/o的次数,从而提高数据访问性能,索引也有很多种;如果有一个字段不经常查询,那么就不建议创建索引,因为索引需要专门的维护,需要浪费一定的资源;2、单列索引:单列索引时基于单个列所建立的索引;SQL> create index nameIndex on customer (name);Inde原创 2013-05-29 20:54:08 · 481 阅读 · 0 评论 -
Oracle Database :Oracle11g SQL开发指南学习笔记之(7):BinaryFloatDouble
1、BINARY_FLOAT和BINARY_DOUBLE的优点:与NUMBER相比,他们具有以下优点:1)、需要的存储空间较小:BINARY_FLOAT和BINARY_DOUBLE分别血药5个字节和9个字节的存储空间,而NUMBER则可能需要多大22个字节的存储空间;2)、可以表示的数字范围更大:因为他支持比number更大会更小的数字;3)、执行运算的速度快;因为nu原创 2013-05-29 20:37:29 · 811 阅读 · 0 评论 -
Oracle Database :Oracle11g SQL开发指南学习笔记之(4):关系数据库
1、表在数据库中被存放在一种称为模式(schema)的结构中,所谓模式,就是数据库用户可以储存表的地方;2、构成数据库的信息和用来访问这些信息的系统并不是一回事,后者称为数据库管理系统(DBMS),比如Oracle,SQLServer,MYSQL等;原创 2013-05-29 20:34:22 · 698 阅读 · 0 评论 -
Oracle Database :Oracle11g SQL开发指南学习笔记之(2): 使用SQLPLUS
1、SQLPLUS常用的编辑命令:㈠、A【ppend】 text:将text附加到当前行之后;SQL> 1 1* select * from empSQL> a where deptno=20; 1* select * from emp where deptno=20SQL> append and comm = 500; 1* select原创 2013-05-29 20:31:43 · 1401 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(6):权限
管理权限和角色:1、介绍:当用户刚刚被建立时候,用户没有任何权限,也不能执行任何操作,如果要执行某种特定的数据库操作,则必须为其授予系统的权限,如果要用户访问其他方案的对象,则必须为其授予对象的权限,为了简化权限的管理,可以使用角色;2、权限是指执行特定的sql命令或是访问其它方案对象的权利,包括系统权限和对象权限两种啊;一、系统权限:1)、系统权限介绍:系原创 2013-05-29 20:55:54 · 580 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(13):PLSQL函数包
函数:函数用于返回特定的数据,当建立函数时候,在函数头部必须包含return子句,而在函数体内必须包含return语句返回数据;我们可以用create function来建立函数;㈠、函数案例:SQL> --函数案例;SQL> --输入雇员的姓名,返回该雇员的年薪;SQL> create or replace function myfun1(spName varchar2)原创 2013-06-07 09:08:10 · 694 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(10):异常
Ⅰ、例外的分类:Oracle将例外分为预定义例外,非预定义例外和自定义例外三种;①、预定义例外处理常见的oracle错误;②、非预定义例外处理预定义例外不能处理的例外;③、自定义例外处理与oracle无关的其他情况;--例外案例;declare v_ename emp.ename%type;begin select ename into v_ename原创 2013-06-07 08:54:49 · 662 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(8):服务启动
可以同时启动多个Oracle实例,但是如果要监听JDBC的数据库连接,就需要将Listener服务也启动;原创 2013-06-06 20:44:10 · 480 阅读 · 0 评论 -
Oracle OCI :OCI说明
Oracle oci工具包安装: $ORACLE_HOME\BIN:执行文件和help文件 $ORACLE_HOME\OCI\INCLUDE:头文件 $ORACLE_HOME\OCI\LIB\BC: for Borlanf C++的OCI库 $ORACLE_HOME\OCI\LIB\MSVC: for MS Visual C++的OCI库 如转载 2013-05-27 19:36:18 · 1435 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(2):在Oracle中操纵数据
1、使用to_date函数:SQL> insert into emp values(9888,'xiaohong','MANAGER',7783,to_date('1988-12-23','yyyy-mm-dd') , 23423,345,20);SQL> insert into emp values(9878,'xiaohong','MANAGER',7783,to_date('1988/原创 2013-05-29 20:50:04 · 658 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(1):数据库学习路线和数据库的分类
原创 2013-05-29 20:48:50 · 1178 阅读 · 0 评论 -
Oracle Database :Oracle11g SQL开发指南学习笔记之(5):从数据库表中检索信息
1、理解行标志和行号(ROWID 和 ROWNUM);SQL> select rowid , rownum , ename from emp ;ROWID ROWNUM ENAME------------------ ---------- ----------AAAR3sAAEAAAACXAAA 1 SMITHAAAR原创 2013-05-29 20:36:00 · 1083 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(3):维护数据的完整性
1、数据完整性:1)、介绍:数据的完整性用于确保数据库遵从一定的商业和逻辑规则,在Oracle中,数据完整性可以使用约束,触发器,应用程序(过程,函数)三种方法来实现,在这三种方法中,因为约束易于维护,并且具有最好的性能,所以作为维护数据库完整性的首选;2)、约束:约束用于确保数据库数据满足特定的商业规则。在Oracle中约束包括:not null , unique,primar原创 2013-05-29 20:52:26 · 558 阅读 · 0 评论 -
Oracle Database :玩转Oracle学习笔记之(29):Oracle表管理
表的命名规则:1、必须以字母开头;2、长度不能超过30个字节;3、不能使用Oracle保留字;4、只能使用如下字符:A-Z;a-z;0-9;$,#等;Oralce数据类型:1、字符型:char 定长 最大2000字符;不足的话用空格补全,多余的被舍去;查询速度快;varchar2(20) 变长 最大4000字符;自动调整长度以节省空间;clob(char原创 2013-06-08 09:55:34 · 668 阅读 · 0 评论