Oracle 数据库进行过程调试的格式为:
Sql server 的过程调试格式:
- Declare
- Param_int integrate;
- Begin
- Null;
- --operate the data
- end
在sql server中过程编写过程为直接编写sql语句
比如以上的过程的脚本在Sql service中实现为
- Declare @param_int int
- Null;
- --Operate the data;
2 在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 语句和Sql Server 格式不一样
- If ()then
- Begin
- End
- Elsif ()then
- Begin
- End
- End if
在 Sql Server 中的If语句的格式为
2.3返回数据集合的方式
- If()
- Begin
- --Operate the data
- End
- Else ()
- Begin
- --Operate The data
- End
l_cursor out DSPackage.DataSet
定义游标格式的变量,同时在存储过程中,对游标进行设定
在Sql Server 中数据集合返回格式为直接在存储过程的操作区中最后一个select语句,查询的数据结果,这种方式在Oracle数据库中会出现异常。
2.4变量定义 和赋值的方式
在Oracle中变量定义格式
变量名称 varchar
赋值的方式
变量名称:=变量值。
Sql Server 中为
2.5使用Select into 的方式进行数据赋值方式时,在没有数据填充的情况下,异常情况
- Declare @param int;
- Set @param=1;
注意在 Oracle数据库中Select 返回结果中没有数据集的情况下,就会发生异常,需要进行异常处理。
在Sql server中 变量为Null.
2.6 oracle数据库中的异常处理
2.7 变更影响行号数值的获取
- EXCEPTION
- WHEN OTHERS
- THEN
- --返回值赋值
- raise_application_error (-20000,
- '任务队列入日志库错误' || SQLERRM
- );
- GOTO proc_end;
- <<proc_end>>
- NULL;
- 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
【编辑推荐】