oracle存储过程中的if...elseif...else用法

if ... then 
...   
elsif ... then 
...

else 
...   
end if;

or     
if ... then     
  ...   
else 
...   
end if;   
    
or     
if ... then 
...   
end if;

注:if后的条件不加括号

例子如下:
           if   p_fh <> ‘‘   then
               p_strsql := p_strsql || ‘ and b.fh = p_fh‘;
           end if;

时间: 2024-08-28 14:14:25

oracle存储过程中的if...elseif...else用法的相关文章

Oracle存储过程中跳出循环的写法

Oracle存储过程中跳出循环的写法 博客分类: oracle Oracle 记录exit和return的用法 exit用来跳出循环 loop IF V_KBP IS NULL THEN           EXIT;    END IF; end loop; return跳出存储过程 loop IF V_KBP IS NULL THEN         return;    END IF; end loop; 跳出loop 一次循环 oracle 11g已提供continue; oracle

Oracle存储过程中异常Exception的捕捉和处理

Oracle存储过程中异常的捕捉和处理 CREATE OR REPLACE Procedure Proc_error_process ( v_IN in Varchar2, v_OUT Out Varchar2) AUTHID CURRENT_USER AS --声明异常 some_kinds_of_err EXCEPTION; -- Exception to indicate an error condition v_ErrorCode NUMBER; -- Variable to hold

Oracle 存储过程中的 =&gt;

oracle实参与形参有两种对应方式1.一种是位置方式,和面向对象语言参数传递类似;2.另外一种是=> 作为形参对应,因为位置对应方法有缺限,比如一个函数有3个参数,但第2个是可以不传(有默认值),这里就没办法位置对应方法,oralce内部一般用此种方法作参数传递. CREATE OR REPLACE PROCEDURE HelloWorld( p_user_name VARCHAR2, p_val1 VARCHAR2 DEFAULT ' Good Moning,', p_val2 VARCHA

oracle 存储过程中使用date 时、分、秒丢失

今天有一开发兄弟找我,说出现一奇怪现象,在存储过程中赋date类型的值,时.分.秒都丢失了,下面来做个试验: SQL> drop table test purge; SQL> create table test ( fill_date  date ); SQL> insert into test values(sysdate); SQL> commit; SQL> select to_char(fill_date,'yyyy-MM-dd HH24:mi:ss') from t

java 实现往oracle存储过程中传递array数组类型的参数

注:本文来源于 <  java 实现往oracle存储过程中传递array数组类型的参数  > 最近项目中遇到通过往存储过程传递数组参数的问题, 浪费了N多个小时,终于有点头绪. 具体的代码就不写上了,因为项目中存储过程的调用方法全部是封装好的(好像现在都这样,都姓3层,嘿嘿) 原理: 1.一维数组 A.单纯的一维数组的话,直接建立一个table类型就可以 1 TYPE TYPE_VARCHAR AS TABLE OF VARCHAR2(200); 2.多维数组 A.多维数组就要稍加修改了,如

在oracle存储过程中创建临时表

在oracle的存储过程中,不能直接使用DDL语句,比如create.alter.drop.truncate等. 那如果我们想在存储过程中建立一张临时表就只能使用动态sql语句了: create or replace procedure pro as str_sql varchar2(100); begin -- 创建临时表 str_sql := 'create global temporary table temp_table ( col1 varchar2(10), col2 number

在oracle存储过程中创建暂时表

在oracle的存储过程中,不能直接使用DDL语句,比方create.alter.drop.truncate等. 那假设我们想在存储过程中建立一张暂时表就仅仅能使用动态sql语句了: create or replace procedure pro as str_sql varchar2(100); begin -- 创建暂时表 str_sql := 'create global temporary table temp_table ( col1 varchar2(10), col2 number

oracle存储过程中is和as区别

语法: create [or replace] procedure procedure_name  [(parameter_name [in | out | in out] type [,........])]   {is | as} begin  procedure_body end procedure_name; 在存储过程(PROCEDURE)和函数(FUNCTION)中没有区别:在视图(VIEW)中只能用AS不能用IS:在游标(CURSOR)中只能用IS不能用AS.

oracle存储过程中is和as的区别

create or replace procedure imp_person_medical(v_t_table_name varchar2,v_result out varchar2) as /** 参数:v_t_table_name 临时数据表 */ v_sql  varchar2(2000); v_error_count number; begin ---- end imp_person_medical: 在存储过程(PROCEDURE)和函数(FUNCTION)中没有区别,在视图(VIE