精华内容
下载资源
问答
  • 为大家介绍sql server存储过程中if esle的用法,供大家学习参考。数据库有两张表,A表主键为自动增长的并且是B表的外键且允许为空
  • create or replace procedure pro_common_callback( srctablename in varchar2, desttablename in varchar2, ...if desttablename='T_LS_CHECK_QULIFICATION' then begin v_select_sql:='insert into T_LS_C
    create or replace procedure pro_common_callback(
    	srctablename in varchar2,
    	desttablename in varchar2,
    	optygongh in varchar2
    )
    is 
    v_select_sql varchar2(2000);
    begin 
    if desttablename='T_LS_CHECK_QULIFICATION' then
    begin
    v_select_sql:='insert into T_LS_CHECK_QULIFICATION(
    	ORGNAME,ORGID,USERNAME,YGONGH,QULIFICATION
    )
    select col0,col1,col2,col3,col4 from '||srctablename||' where col0 <> ''经营部门''
    '; 
    execute immediate v_select_sql;
    commit;
    end;
    elseif desttablename='T_EB_REPORT_SHANGHU' then
    pro_callback_eb_report_shhu(srctablename,desttablename,optygongh);
    elseif desttablename='T_NET_SCORE_RATE' then
    pro_callback_corpkpi_rate(srctablename,desttablename,optygongh);
    end if;
    end pro_common_callback;
    

    存储过程pro_common_callback传入的参数desttablename,如果为T_LS_CKECK_QULIFICATION则执行then后的begin~end之间的内容,此处即为执行变量v_select_sql中的sql语句;若为T_EB_REPORT_SHANGHU则执行存储过程pro_callback_eb_report_shhu;若为T_NET_SCORE_RATE则执行存储过程pro_callback_corpkpi_rate

    展开全文
  • oracle-存储过程-if_else

    千次阅读 2020-11-26 17:41:35
    PROCEDURE "if_else" AS -- 查询出 150号员工的工资,若其工资大于或等于10000则打印 'salary>=10000'; -- 若在5000 到 10000之间,则打印'5000<=salary<10000';否则打印'salary<5000' /* -- 关于这...
    CREATE OR REPLACE
    PROCEDURE "if_else"  
    AS
     
    
    -- 查询出 150号员工的工资,若其工资大于或等于10000则打印 'salary>=10000';
    -- 若在5000 到 10000之间,则打印'5000<=salary<10000';否则打印'salary<5000'
    /*
     -- 关于这个IN OUT || OUT || IN 这种东西 如果是java程序注入进来的值需要定义在create里面
     -- 非java程序注入进来的值,之间定义在begin上方即可,不需要declare。如果是sqlwindow窗口则需要这个
    	if<布尔表达式>then
    		pl/sql 和sql语句;
    	else
    		其他语句;
    	end if;
    	
    	if<布尔表达式>then
    		pl/sql 和sql语句;
    	elseif<其他布尔表达式>then
    		其他语句;
    	elseif <其他布尔表达式>then
    		其他语句;
    	else
    		其他语句;
    	end if;
    
    */ 
     v_sal  EMPLOYEES.SALARY%type; 
     v_tempout VARCHAR2(20):= '';
    BEGIN
     
    	select salary into v_sal from EMPLOYEES WHERE EMPLOYEE_ID = 150;
    	/*
    方式1
    	if v_sal >= 10000 then
    		dbms_output.put_line('salary>=10000');
    	elsif v_sal < 10000 and v_sal>=5000 then
    		dbms_output.put_line('5000<=salary<10000');
    	else 
    		dbms_output.put_line('salary<5000');
    	end if;	
    	*/	
    /*	
    -- 方式2	
    	if v_sal >= 10000 then
    		v_tempout := 'salary>=10000';
    	elsif v_sal < 10000 and v_sal>=5000 then
    		v_tempout := '5000<=salary<10000';
    	else 
    		v_tempout := 'salary<5000';
    	end if;	
    	dbms_output.put_line(v_tempout);
    	-- routine body goes here, e.g.
    	-- DBMS_OUTPUT.PUT_LINE('Navicat for Oracle');
    */
    -- 方式 3
    v_tempout:=
    	case trunc(v_sal/5000) 
    		when 0 then
    			  'salary<5000'
    		when 1 then  
    				'salary>=10000'
    		else
    				'5000<=salary<10000'
    	end;
    
    	dbms_output.put_line(v_tempout||v_sal);
    END;
    
    CREATE OR REPLACE
    PROCEDURE "if_else2" AS
    /*
    	查询出122号员工的JOB_ID,若其值为'IT_PROG',则打印 'GRADE: A';
    															'AC_MGT',打印'GRADE B'
    															'AC_ACCOUNT',打印'GRATE C'
    															否则打印 'GRADE D'
    */
    v_job_id EMPLOYEES.JOB_ID%type;
    v_temp_grade VARCHAR2(10):='';
     
    BEGIN
    	
    	-- routine body goes here, e.g.
    	-- DBMS_OUTPUT.PUT_LINE('Navicat for Oracle');
    	select JOB_ID into v_job_id from EMPLOYEES WHERE EMPLOYEE_ID = 122;
    	 
    v_temp_grade :=
    		case v_job_id  
    			when 'IT_PROG' then
    				'GRADE: A'
    			when 'AC_MGT' then 
    				'GRADE B'
    			when 'AC_ACCOUNT' then 
    				'GRATE C'
    			else
    				'GRADE D'
    			end;
    	dbms_output.put_line(v_temp_grade||v_job_id);
    END;
    
    展开全文
  • mysql中存储过程 使用if else 判断

    千次阅读 2019-09-04 09:12:41
    BEGIN declare phonenum VARCHAR(32) ; SELECT phonenumber INTO phonenum FROM A WHERE phonenumber = `p_phonenumber` ;... if phonenum is NULL then INSERT INTO A (phonenumber ,isselect) VALUES (`p...
    BEGIN
    	declare phonenum VARCHAR(32) ; 
    	SELECT phonenumber INTO phonenum FROM A WHERE phonenumber = `p_phonenumber` ;
    	
    		if phonenum is NULL then 
    			INSERT INTO A (phonenumber ,isselect) VALUES (`p_phonenumber`,`p_isselect`);
    		else 
    			UPDATE A SET isselect =  `p_isselect` WHERE phonenumber =  `p_phonenumber`;
    	end if; 
    
    END

    A表结构:

    需要注意的是:

    1.用into将select出来的值赋给declare的变量

    2.if判断如果是非空的可以用=,如果是数字还可以> 、<,但是如果像判断是null ,就要用 xxx is null 了

    3.注意各个句结束时别丢分号 

    展开全文
  • 用法 if ... then ... elsif ... then ... else ... end if; if ... then  ... else ... end if; if ... then ... end if; ...
    用法
    if ... then 
    ...   
    elsif ... then 
    ...   
    
    else 
    ...   
    end if;  
    
    
    
    if ... then     
      ...   
    else 
    ...   
    end if;   
        
       
    
    if ... then 
    ...   
    end if;
    

    转载于:https://www.cnblogs.com/Csharpblogs/archive/2011/07/21/2113177.html

    展开全文
  • MySQL存储过程-IFELSE

    千次阅读 2019-08-11 21:13:05
    BEGIN SET @count=100; IF @count=100 || @count=300 THEN SET @count=11; ELSEIF @count=2 THEN SET @count=3; END IF; SELECT @count; #查看运行结果 END
  • mysql存储过程中if...else常见用法

    万次阅读 2017-06-07 15:49:26
    记:mysql判断使用=,编程习惯了老是写==,很容易忽略
  • oracle存储过程中if语句

    万次阅读 2019-07-10 09:18:43
    这个存储过程内容可能有点多,这是我平时的项目用到的存储过程,刚好里面用到了if语句,所以我就拿来了给大家看一下 create or replace procedure p_censor_stat_status_org_real(r_codes out varchar2, ...
  • drop procedure if exists p_hello_world; create procedure p_hello_world(in v_id int) begin if (v_id > 0) then select '> 0'; elseif (v_id = 0) then select '= 0'; else
  • Python的语法糖非常强大,比如Python在for循环嵌套使用ifelse语句的技巧便十分给力,下面我们就举几个例子来看详细的用法:
  • DROP PROCEDURE IF EXISTS text; CREATE PROCEDURE text ...ELSEIF LoginId = 0 THEN SET rtn = 3; ELSE SET rtn = 4; END IF; END 转载于:https://my.oschina.net/roundnet/blog/533230
  • 不同的数据库存储过程中if else 语句写法有一些差别。 如果是SQLServer数据库,存储过程if, else语句可以这样写: 1 2 3 4 5 6 7 8 9 10 11 12 if?a>b Begin ???print?'a' End Else?if?a<b Begin...
  • sql 存储过程里的if else while

    千次阅读 2017-04-04 17:47:59
    一:if else 语法:  if 条件 begin 执行的操作 end else begin 执行的操作 end 二:while 语法: while 条件 begin 执行操作 end  实例: USE [OABusiness] GO /****** 对象: ...
  • SQL Server 存储过程if else细节 写一个简单的存储过程,简单的逻辑,简单的语句,如下 IF @TYPE = '1' BEGIN组 。。。(查询语句) END IF @TYPE = '2' BEGIN 。。。(查询语句) END ELSE BEGIN 。。。(查询...
  • create or replace procedure PCInsertOrUpdateMsg( companyId varchar2 :='1', personId varchar2 :='6', resume_name varchar2 :='简历...请各位大神门帮忙看下,oracleif else 到底怎么用。感激不尽!
  • oracle存储过程if-else if-else

    万次阅读 2015-09-14 16:03:34
    create or replace procedure test as --建立游标 Cursor ss is select GROUP_NAME from SUMMARYLOG_LIST group by GROUP_NAME; BEGIN--for循环 ...if b.GROUP_NAME=null then insert into AA(hong
  • 编译时报错,然后发现里面有这么一段代码: set define off; declare v_nullable varchar(1) := ''; begin if fc_IsTableExists('...if not fc_IsColExists('TCAPCURRENTS_INPUT', 'L_CONTRACTSERIALNO') then...
  • oracle支持在函数或存储过程之外使用if else for等任何语句,而mysql执行if else for等语句只能在函数或存储过程中才行!
  • oracle中if else只能在存储过程中用吗? 执行 if 3=3 then select sysdate from dual ; end if; 为什么会报错,请各位大神们指点迷津,在下感激不尽!
  • CREATE OR REPLACE PROCEDURE printUserInfo ( upwd IN USERINFO.USERWORD % TYPE, uname out USERINFO.USERNAME % TYPE ... 这个存储过程显示 if那句话有错 但是不知道哪错了 谁能回答啊 帮我解决啊
  • if 条件 then 语句1; else 语句2; end if; 2、需特别注意 elsif的写法 if 条件 then 语句;elsif 语句 then 语句; else 语句; end if; 例如: DECLARE pnum number :=1; BEGIN if pnum = 0 then dbms_...
  •   create procedure test(in a int)  ...elseif a&gt;2 then   select 2;  else    end if;  [xhtml] view plaincopyprint?   create procedure test(i...
  • mysql的函数(方法)和存储过程中使用if语句 解决方法: IF sTempChd != rootId then SET sTemp = CONCAT(sTemp,',',sTempChd); elseif:http://www.yayihouse.com/yayishuwu/chapter/2021 ...
  • MySQL 存储过程 if语句

    千次阅读 2020-04-09 19:08:13
    MySQL IF语句语法 下面说明了IF语句的语法: IF expression THEN statements; END IF; ...如果表达式(expression)计算...以下流程图演示了IF语句的执行过程: MySQL IF ELSE语句 如果表达式计算结果为FALSE时...
  • MySql 存储过程 IF ElSE 小实例

    万次阅读 多人点赞 2013-12-10 15:27:45
    DROP PROCEDURE IF EXISTS text; create procedure text( out rtn int ) begin declare LoginId INT default 0; set rtn=1; ... IF LoginId = 3 ... ELSEIF LoginId = 0 THEN set rtn=3; E
  • Sybase 存储过程中IF的用法 --@i_val 为参数 if @i_val = 0 or @i_val is null then begin --执行内容 end; end if; 转载于:https://www.cnblogs.com/lizm166/p/9776724.html...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,201,125
精华内容 480,450
关键字:

else存储过程中if