- 博客(12)
- 收藏
- 关注
原创 model子句的学习
今天早晨一来,我就想,应该把model子句学一下了。按照书上的例子,做了一个复本,先建立一个表,然后插入数据,最后写model子句,原来model的子句,就是象excel一样,可以引用某个数组的值。partition by(prd_type_id) 表示结果按prd_type_id分区。dimension by(month,year) 定义数组的维数是month,year,意味着要提供月份和年份两个下标才能访问某个列。measures(sales_amount)指定数组名称。create table all
2010-09-13 08:39:00 295
原创 代码_20100913_为何会出现运行错误呢?
<br />下面的程序没错,<br />(写这个程序时,开始忘记了在循环内部加判断条件)<br />--出现表达式类型错误,错误在哪儿呢<br />create or replace function wanquanshu(<br /> in_num in integer)<br />return integer<br />is<br /> p_in_num integer := 0;<br /> p_return integer := 0;<br />begin<br /> --判断输入参数是否是完全数
2010-09-13 06:21:00 296
原创 code_20100912_case_判断顺序
pl/sql的case和C有语言的switch有相同之处那就是可以象下面这样,按顺序进行判断,下面的判断顺序是不能乱放的,必须按顺序,不然结果就不对了。这样代码就有顺序信赖关系,按理说是不好的,但这样能节省机器时间。就是说: when in_fenshu 'e' when in_fenshu 'd' when in_fenshu 'c' when in_fenshu 'b' when in_fenshu 'a' when 100 'm'
2010-09-12 09:34:00 294
原创 代码_20100912_01_代码一定要多写
今天又出了一个错误,输入a,b,c三个变量中的最大值。我写一个函数max(a,b),再用这个函数求三个的最大值。max(max(a,b),c)如是写了如下函数:create or replace function max(in_a in integer , in_b in integer )return integer p_return integer := 0;isbegin if in_a p_return := in_b; elsif in_a >= in_b then p
2010-09-12 08:42:00 204
原创 代码_20100912_01
--这里面用到了两个函数,ascii和chr.create or replace function yi5wei(in_char in char) return charas p_weishu integer := 5; p_return char := '';begin --对任意输入的一个小写字母,将字母循环后移5个位置,如a-->f,w-->b. if 'a' p_return := chr( ascii( in_char ) + p_weishu ); elsif 'v' p_retu
2010-09-12 08:26:00 334
原创 代码_20100912_if语法问题
<br />昨天下午看了几本小说,没有写代码,感觉到时间有些虚度了。于是今天就写一点。<br />实现一个功能:判断输入的整数是否是一个能被23整数的三位奇数。<br />我看了求余的函数mod用法,然后用vim写了如下版本:<br />create or replace function sanwei_qishu(in_num in integer<br /> -- in_weishu in integer)<br /> )<br />return boolean <br />
2010-09-12 07:53:00 182
原创 让oracle跑得更快 学习笔记 04
<br />第三章 all_rows 和first_rows介绍。<br />书上介绍了这两种优化模式,对all_rows没什么讲的,书上对first_rows进行了详细的介绍,按照书的代码进行测试后,发现。<br />书上讲是能进行索引扫描,但查询计划却是表扫描。<br />这是测试表。 <br />create table T<br />(<br /> X INTEGER,<br /> Y VARCHAR2(2000)<br />);<br />insert into t select objec
2010-09-12 07:48:00 265
原创 让oracle跑得更快 学习笔记
这个测试书上讲是能进行索引扫描,但查询计划却是表扫描。这是测试表。 create table T( X INTEGER, Y VARCHAR2(2000));insert into t select object_id , object_name from dba_objects;commit;create index T_IND on T (X);这是查询语句,with t1 as (select /*+ first_rows(10) */ *from t order by x) , t2 as (s
2010-09-11 10:46:00 306
原创 《让oracle跑得更快 》学习笔记03_RBO优化器
<br />第三章:优化器<br />作者先介绍了RBO的不足,那就是不会实事求是,不会根据变化了的环境去相应的变更策略。比如在表T中,结构如下:<br />Id,object_name<br />其中在ID中只有两个不同的值,1,99.其中值为99的记录就只有一条,因此表在ID上的分布极为不均。<br />SQL> select id, count(*) from t group by id;<br /> ID COUNT(*)<br />---------- ----------<br
2010-09-11 09:21:00 235
原创 《让oracle跑得更快 》学习笔记02
<br />监听器<br />装好数据库后,在dos窗口中用sqlplus 用户名/pwd 来登陆时,没有问题,我配了个服务名后,来登陆:<br />sqlplus user/pwd@orcl就报错了,说找不到监听器。先找到那个:<br />C:/oracle/product/10.1.0/db_1/NETWORK/ADMIN/listener.ora文件,把里面host用127.0.0.1,再重新配置orcl服务,在tnsname文件中也用127.0.0.1而不用机器名,一下子就弄通了。我原来对这块一直不
2010-09-11 09:00:00 206
原创 《让oracle跑得更快 》学习笔记01
<br />昨天重装系统后重装了数据库,我想边读书,边做试验,争取把书上的理论彻底搞懂,不能象原来光读书,不动手了。<br />今天先把sqlplus 的默认编辑器进行了修改:<br />1.找到sqlplus的安装位置。<br />2.进行admin目录。<br />3.在文件:glogin.sql中添加一条:<br />DEFINE _EDITOR= 'C:/Program Files/Vim/vim73/gvim.exe'<br />然后重新进入sqlplus 就搞定了。<br />我想,要把自己
2010-09-11 05:59:00 213
原创 今天开始申请了博客
<br />今天开始申请了博客,想把自己的成长进行记录。先立下目标,考几个证:<br />oracle ocp<br />期货从业资格<br />证券从业资格<br />会计从业资格
2010-09-11 05:19:00 212
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人