现在的位置: 首页 > 综合 > 正文

Oracle应用开发手记

2011年05月01日 ⁄ 综合 ⁄ 共 1855字 ⁄ 字号 评论关闭

 

1  Oracle 数据库中进行过程调试

   Oracle 进行过程调试的格式为:

   Declare

        Param_int integrate;

   Begin

       Null;

--operate the data

 end

 Sql server 的过程调试格式:

 sql server中过程编写过程为直接编写sql语句

比如以上的过程的脚本在Sql service中实现为

Declare @param_int int

Null;

--Operate the data;

 

Oracle 编写存储过程

2.1 整个存储过程各个环节语法注意事项

   下面首先提供以下基本格式的存储过程语法结构

CREATE OR REPLACE PROCEDURE cc_getmanualquery

(

param_inputNum IN number,

Param_inputString In varchar,

     Param_OutNum out varchar

)

AS

    Param_temp Number;

begin

         --Operate the data

end ;

 

注意事项:

1)存储过程接口的参数在多个情况下,需要加上,进行间隔

2)存储过程的变量参数,每个变量的定义后面都加上;

3)存储过程的执行体,在结束后加上;符号。

 

2.2 If条件语句语法

If语句的格式为:

If ()then

Begin

End

Elsif ()then

Begin

End

   End if

 

If 语句和Sql Server 格式不一样

Sql Server 中的If语句的格式为

If()

Begin

      --Operate the data

   End

Else ()

   Begin

          --Operate The data

   End

 

2.3返回数据集合的方式

l_cursor out DSPackage.DataSet

 定义游标格式的变量,同时在存储过程中,对游标进行设定

Sql Server 中数据集合返回格式为

直接在存储过程的操作区中最后一个select语句,查询的数据结果,这种方式在Oracle中会出现异常。

 

2.4变量定义 和赋值的方式

Oracle中变量定义格式

变量名称 varchar

赋值的方式

变量名称:=变量值。

Sql Server 中为

Declare @param int;

Set @param=1;

 

2.5使用Select into 的方式进行数据赋值方式时,在没有数据填充的情况下,异常情况

注意在 Oracle Select 返回结果中没有数据集的情况下,就会发生异常,需要进行异常处理。

Sql server 变量为Null

 

2.6 oracle中的异常处理

 

EXCEPTION
      WHEN OTHERS
      THEN
         --返回值赋值
         raise_application_error (-20000,
                                  '任务队列入日志库错误' || SQLERRM
                                 );
         GOTO proc_end;

         <<proc_end>>
         NULL;

 

 

2.7 变更影响行号数值的获取

 if sql%rowcount = 0 then
                begin
                    open l_cursor for select* from CC_MANUAL where id is null;--表的名字  
                    i_o_state := -9;
                    v_o_msg   := '更新协查事件表问题标识失败';                   
                         
                    --raise exp;
                end;
             end if;

 

以上sql%rowcount = 0  部分为 判断更新影响的行数是否为0

 

 

2.8 通过Select 创建表

实例: create table CC_NeedImport_CellPhoneSort as  select * from cellphonesort 
    语法格式:create Table 表名 as select *  from 表名

 

 

2.9 字符串拼接

实例:   concat(endcode,'0')

SqlServer 中为 endcode+'0'
  

 

 

 

 

 

抱歉!评论已关闭.