随笔分类 -  Oracle

摘要:随着WEB2.0的发展,用户之间的信息交互也变得十分庞大,而且实时性要求越来越高。现在很多SNS网站和一部分CMS网站都广泛地应用了站内信这一模块,这个看似简单的东西其实背后隐藏着很多需要设计师重视的设计细节,要做好这个“邮递员”是很不容易的。为什么这么说呢?下面我们就一步步来探索设计一个百万级用户量的站内信群发数据库,看完以后你就会明白什么是真正可靠高效的“邮递员”。1、几十——几百的用户量这样的网站规模最小,可能是一个中小企业的CMS系统,面对这样的用户量,我们就不必要考虑短消息数据量太大的问题了,所以按照怎么方便怎么来的原则,群发就每人复制一条消息数据,这样用户可以自己管理自己的消息,可 阅读全文
posted @ 2013-02-22 11:50 于为 阅读(827) 评论(0) 推荐(0)
摘要:本文使用ORACLE自带的人力资源(HR)实例数据,本文所用表结构如下:表名:REGIONS序号列名数据类型长度小数位标识主键允许空默认值说明1REGION_IDNUMBER是否2REGION_NAMEVARCHAR225是表名:COUNTRIES序号列名数据类型长度小数位标识主键允许空默认值说明1COUNTRY_IDCHAR2是否2COUNTRY_NAMEVARCHAR240是3REGION_IDNUMBER是表名:LOCATIONS序号列名数据类型长度小数位标识主键允许空默认值说明1LOCATION_IDNUMBER40是否2STREET_ADDRESSVARCHAR240是3POSTAL 阅读全文
posted @ 2013-01-31 10:44 于为 阅读(381) 评论(0) 推荐(0)
摘要:本文使用ORACLE自带的人力资源(HR)实例数据,本文所用表结构如下:HR.EMPLOYEES员工表结构如下:HR.DEPARTMENTS表结构如下:HR.REGIONS表结构如下:SQL>DESCHR.REGIONS;NameTypeNullableDefaultComments----------------------------------------------REGION_IDNUMBERREGION_NAMEVARCHAR2(25)Y用SQL完成以下问题列表:1.让SELECTTO_CHAR(SALARY,'L99,999.99')FROMHR.EMPLO 阅读全文
posted @ 2013-01-31 10:43 于为 阅读(501) 评论(0) 推荐(0)
摘要:本文使用ORACLE自带的人力资源(HR)实例数据,本文所用表结构如下:表名:REGIONS序号列名数据类型长度小数位标识主键允许空默认值说明1REGION_IDNUMBER是否2REGION_NAMEVARCHAR225是表名:COUNTRIES序号列名数据类型长度小数位标识主键允许空默认值说明1COUNTRY_IDCHAR2是否2COUNTRY_NAMEVARCHAR240是3REGION_IDNUMBER是表名:LOCATIONS序号列名数据类型长度小数位标识主键允许空默认值说明1LOCATION_IDNUMBER40是否2STREET_ADDRESSVARCHAR240是3POSTAL 阅读全文
posted @ 2013-01-31 10:43 于为 阅读(286) 评论(0) 推荐(0)
摘要:本文使用的实例表结构与表的数据如下:scott.emp员工表结构如下:SQL>DESCSCOTT.EMP;NameTypeNullableDefaultComments-------------------------------------------EMPNONUMBER(4)员工编号ENAMEVARCHAR2(10)Y员工姓名JOBVARCHAR2(9)Y职位MGRNUMBER(4)Y上级编号HIREDATEDATEY雇佣日期SALNUMBER(7,2)Y薪金COMMNUMBER(7,2)Y佣金DEPTNONUMBER(2)Y所在部门编号--提示:工资=薪金+佣金scott.dep 阅读全文
posted @ 2013-01-31 10:42 于为 阅读(290) 评论(0) 推荐(0)
摘要:本文与大家共同讨论与分享ORACLE SQL的一些常用经典查询,欢迎大家补充,同时你认为有那些经典的也可分享出来。在本文中,对每一个问题,你要是认为有什么更好的解决方法也欢迎你及时提出。交流与分享才能共同进步嘛,感谢!本文使用的实例表结构与表的数据如下:scott.emp员工表结构如下:NameTypeNullableDefaultComments-------------------------------------------EMPNONUMBER(4)员工号ENAMEVARCHAR2(10)Y员工姓名JOBVARCHAR2(9)Y工作MGRNUMBER(4)Y上级编号HIREDATED 阅读全文
posted @ 2013-01-31 10:41 于为 阅读(294) 评论(0) 推荐(0)
摘要:本篇主要内容如下:8.1触发器类型8.1.1DML触发器8.1.2替代触发器8.1.3系统触发器8.2创建触发器8.2.1触发器触发次序8.2.2创建DML触发器8.2.3创建替代(INSTEAD OF)触发器8.2.3创建系统事件触发器8.2.4系统触发器事件属性8.2.5使用触发器谓词8.2.6重新编译触发器8.3删除和使能触发器8.4触发器和数据字典8.5数据库触发器的应用举例触发器是许多关系数据库系统都提供的一项技术。在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块。8.1触发器类型触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存 阅读全文
posted @ 2013-01-31 10:40 于为 阅读(215) 评论(0) 推荐(0)
摘要:本篇主要内容如下:第七章程序包的创建和应用7.1程序包简介7.2程序包的定义7.3包的开发步骤7.4包定义的说明7.5子程序重载7.6加密实用程序7.7删除包7.8包的管理7.1程序包简介程序包(PACKAGE,简称包)是一组相关过程、函数、变量、常量和游标等PL/SQL程序设计元素的组合,作为一个完整的单元存储在数据库中,用名称来标识包。它具有面向对象程序设计语言的特点,是对这些PL/SQL程序设计元素的封装。包类似于c#和JAVA语言中的类,其中变量相当于类中的成员变量,过程和函数相当于类方法。把相关的模块归类成为包,可使开发人员利用面向对象的方法进行存储过程的开发,从而提高系统性能。与高 阅读全文
posted @ 2013-01-31 10:22 于为 阅读(478) 评论(0) 推荐(0)
摘要:本篇主要内容如下:6.1引言6.2创建函数6.3存储过程6.3.1创建过程6.3.2调用存储过程6.3.3AUTHID6.3.4PRAGMA AUTONOMOUS_TRANSACTION6.3.5开发存储过程步骤6.3.6删除过程和函数6.3.7过程与函数的比较6.1引言过程与函数(另外还有包与触发器)是命名的PL/SQL块(也是用户的方案对象),被编译后存储在数据库中,以备执行。因此,其它PL/SQL块可以按名称来使用他们。所以,可以将商业逻辑、企业规则写成函数或过程保存到数据库中,以便共享。过程和函数统称为PL/SQL子程序,他们是被命名的PL/SQL块,均存储在数据库中,并通过输入、输出 阅读全文
posted @ 2013-01-31 10:21 于为 阅读(242) 评论(0) 推荐(0)
摘要:本篇主要内容如下:5.1异常处理概念5.1.1预定义的异常处理5.1.2非预定义的异常处理5.1.3用户自定义的异常处理5.1.4用户定义的异常处理5.2异常错误传播5.2.1在执行部分引发异常错误5.2.2在声明部分引发异常错误5.3异常错误处理编程5.4在PL/SQL中使用SQLCODE,SQLERRM异常处理函数即使是写得最好的PL/SQL程序也会遇到错误或未预料到的事件。一个优秀的程序都应该能够正确处理各种出错情况,并尽可能从错误中恢复。任何ORACLE错误(报告为ORA-xxxxx形式的Oracle错误号)、PL/SQL运行错误或用户定义条件(不一写是错误),都可以。当然了,PL/S 阅读全文
posted @ 2013-01-31 10:19 于为 阅读(310) 评论(0) 推荐(0)
摘要:本篇主要内容如下:4.1游标概念4.1.1处理显式游标4.1.2处理隐式游标4.1.3关于NO_DATA_FOUND和%NOTFOUND的区别4.1.4使用游标更新和删除数据4.2游标变量4.2.1声明游标变量4.2.2游标变量操作游标的使用在PL/SQL程序中,对于处理多行记录的事务经常使用游标来实现。4.1游标概念在PL/SQL块中执行SELECT、INSERT、DELETE和UPDATE语句时,ORACLE会在内存中为其分配上下文区(ContextArea),即缓冲区。游标是指向该区的一个指针,或是命名一个工作区(WorkArea),或是一种结构化数据类型。它为应用等量齐观提供了一种对具 阅读全文
posted @ 2013-01-31 10:18 于为 阅读(301) 评论(0) 推荐(0)
摘要:本篇主要内容如下:3.1条件语句3.2CASE表达式3.3循环3.4标号和GOTO3.5NULL语句介绍PL/SQL的流程控制语句,包括如下三类:l控制语句:IF语句l循环语句:LOOP语句,EXIT语句l顺序语句:GOTO语句,NULL语句3.1条件语句IF<布尔表达式>THENPL/SQL和SQL语句ENDIF;-----------------------IF<布尔表达式>THENPL/SQL和SQL语句ELSE其它语句ENDIF;-----------------------IF<布尔表达式>THENPL/SQL和SQL语句ELSIF<其它布尔 阅读全文
posted @ 2013-01-31 10:16 于为 阅读(241) 评论(0) 推荐(0)
摘要:本篇主要内容如下:2.1PL/SQL块2.2PL/SQL结构2.3标识符2.4PL/SQL变量类型2.4.1变量类型2.4.2复合类型2.4.2.1记录类型2.4.2.2数组类型2.4.2.3使用%TYPE2.4.3使用%ROWTYPE2.4.4LOB类型2.4.5BIND变量2.4.6PL/SQL表(TABLE)2.5运算符和表达式(数据定义)2.5.1关系运算符2.5.2一般运算符2.5.3逻辑运算符2.6变量赋值2.6.1字符及数字运算特点2.6.2BOOLEAN赋值2.6.3数据库赋值2.6.4可转换的类型赋值2.7变量作用范围及可见性2.8注释2.9简单例子2.9.1简单数据插入例子 阅读全文
posted @ 2013-01-31 10:13 于为 阅读(349) 评论(0) 推荐(0)
摘要:本篇主要内容如下:第一章PL/SQL程序设计简介1.1SQL与PL/SQL1.1.1什么是PL/SQL?1.2PL/SQL的优点或特征1.2.1有利于客户/服务器环境应用的运行1.2.2适合于客户环境1.2.3过程化1.2.4模块化1.2.5运行错误的可处理性1.2.6提供大量内置程序包1.3PL/SQL可用的SQL语句1.4运行PL/SQL程序SQL语言只是访问、操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发。PL/SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问。由于该语言集成于数据库服务器中,所以 阅读全文
posted @ 2013-01-31 10:12 于为 阅读(275) 评论(0) 推荐(0)