易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle 存储过程的基本语法


1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
    参数1 IN NUMBER,
    参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字
2.SELECT INTO STATEMENT
  将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
  记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
  例子:
  BEGIN
  SELECT col1,col2 into 变量1,变量2 from typestruct where xxx;
  EXCEPTION
  WHEN NO_DATA_FOUND THEN
      xxxx;
  END;
  ...
3.IF 判断
  IF V_TEST=1 THEN
    BEGIN
       do something
    END;
  END IF;
4.while 循环
  WHILE V_TEST=1 LOOP
  BEGIN
XXXX
  END;
  END LOOP;
5.变量赋值
  V_TEST := 123;
6.用for in 使用cursor
  ...
  IS
  CURSOR cur IS SELECT * from xxx;
  BEGIN
FOR cur_result in cur LOOP
  BEGIN
   V_SUM :=cur_result.列名1+cur_result.列名2
  END;
END LOOP;
  END;
7.带参数的cursor
  CURSOR C_USER(C_ID NUMBER) IS SELECT NAME from USER WHERE TYPEID=C_ID;
  OPEN C_USER(变量值);
  LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
    do something
  END LOOP;
  CLOSE C_USER;
8.用pl/sql developer debug
  连接数据库后建立一个Test WINDOW
  在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试


相关文档:

启动oracle系统文件加载顺序

在启动oracle服务时,首先会在服务端找
1.spfile<sid>.ora
用于启动例程,如果找不到spfile<sid>.ora,则使用服务端缺省的
2.spfile
来启动,如果缺省的spfile也找不到,则使用
3.init<sid>.ora
来启动例程,最后则是使用缺省的
4.pfile
.当然你也可以指定pfile来覆盖缺省spfile启动例程,或通过spfile= ......

oracle的分区表、分区索引和全局索引部分总结


分区表、分区索引和全局索引:
在一个表的数据超过过2000万条或占用2G空间时,建议建立分区表。
create table ta(c1 int,c2 varchar2(16),c3 varchar2(64),c4 int constraint pk_ta primary key (c1)) partition by range(c1)(partition p1 values less than (10000000),partition p2 values less than (20000000),part ......

Oracle 表删除大量数据后查询变慢问题


Oracle 表删除大量数据后,即使表中只有几行记录,但用select count(*) from table 来查询发觉都不会马上出来,原因是该表的空间大了,查询起来很慢。解决的方法是把该表所占用的表空间缩小,或者说释放表空间。
alter table XXXX move; 这样处理后就释放了表空间了。但是释放表空间后,表的行号rowid会发生变化,而基于 ......

oracle 10.2.0.1 到 10.2.0.4升级

停止数据库,停止服务。
然后在运行升级程序时出现Error:OUI-10133:Invalid stageing area. there
are no top level components


错误,半天不得其解。终于发现是因为升级包解压不完全造成的。重新复制一份完整解压过的,升级。OK. ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号