精华内容
下载资源
问答
  • 为大家介绍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存储过程-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
    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
    
    展开全文
  • SQL Server 存储过程if else细节 写一个简单的存储过程,简单的逻辑,简单的语句,如下 IF @TYPE = '1' BEGIN组 。。。(查询语句) END IF @TYPE = '2' BEGIN 。。。(查询语句) END ELSE BEGIN 。。。(查询...

    SQL Server 存储过程if else细节

    写一个简单的存储过程,简单的逻辑,简单的语句,如下

    IF @TYPE = '1' BEGIN
    。。。(查询语句)
    END
    IF @TYPE = '2' BEGIN
    。。。(查询语句)
    END
    ELSE BEGIN 
    。。。(查询语句)
    END

    简单语句用mybatis调用该存储函数,type传值为‘1‘时报空指针错误,提示我参数设置错误

    懵逼的检查着我的Mapper、dao、service,没有问题,但是传值‘1’就是不可以!就是报错!

    好吧,我直接数据库运行这个存储函数,传值‘1’,崩溃的是,数据能完美的、顺顺利利的出来!

    我X,这是什么鬼,然后懵逼的换了下各个if下面的语句,好吧,只要是‘1‘就是有问题~

    查了度娘还以为是什么返回值的问题,但是我把原来1的位置的SQL放到其他下面还是可以出来的啊!

    最后我重新排查了下语句,第二个if前面没else,但是从java的逻辑来说这样也可以吧,不过这是存储过程的话那还是把他加上吧!

    IF @TYPE = '1' BEGIN
    。。。(查询语句)
    END
    ELSE IF @TYPE = '2' 
    BEGIN
    。。。(查询语句)
    END
    ELSE BEGIN 
    。。。(查询语句)
    END

     

    展开全文
  • 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
  • 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
  • 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...
  • 用法 if ... then ... elsif ... then ... else ... end if; if ... then  ... else ... end if; if ... then ... end if; ...
  • CREATE OR REPLACE PROCEDURE printUserInfo ( upwd IN USERINFO.USERWORD % TYPE, uname out USERINFO.USERNAME % TYPE ... 这个存储过程显示 if那句话有错 但是不知道哪错了 谁能回答啊 帮我解决啊
  • 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
  • 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 /****** 对象: ...
  • 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
  • oracle存储过程if语句

    万次阅读 2019-07-10 09:18:43
    这个存储过程内容可能有点多,这是我平时的项目用到的存储过程,刚好里面用到了if语句,所以我就拿来了给大家看一下 create or replace procedure p_censor_stat_status_org_real(r_codes out varchar2, ...
  • 编译时报错,然后发现里面有这么一段代码: set define off; declare v_nullable varchar(1) := ''; begin if fc_IsTableExists('...if not fc_IsColExists('TCAPCURRENTS_INPUT', 'L_CONTRACTSERIALNO') then...
  • mysql存储过程if...else常见用法

    万次阅读 2017-06-07 15:49:26
    ELSE SET @dept_parent_name = (SELECT parent_name FROM oa.department WHERE id = dept_parent_id); INSERT INTO oa.department VALUES(REPLACE(UUID(),'-',''),dept_name,dept_parent_id,dept_parent_name,...
  • drop procedure if exists myProc; delimiter $$ CREATE PROCEDURE myProc(in segNum int(11))  BEGIN  DECLARE j int;  DECLARE i int;  SET i=1;  SET j=segNum;  IF i > 0 THEN  loop1:
  • 不同的数据库中,存储过程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...
  •   create procedure test(in a int)  ...elseif a&gt;2 then   select 2;  else    end if;  [xhtml] view plaincopyprint?   create procedure test(i...
  • create or replace procedure PCInsertOrUpdateMsg( companyId varchar2 :='1', personId varchar2 :='6', resume_name varchar2 :='简历...请各位大神门帮忙看下,oracle中的 if else 到底怎么用。感激不尽!
  • if sql2."name"=sql1."name" then str:=str||'{"name":"'||"sql2.name"||'","value":"'||"sql2.value"||'"}'; end if; end loop close sql2_ref; str:=SUBSTRING(str0,"length"(str-1)); str:=str||']}'; end loop;...
  • 模板 BEGIN IF 条件 THEN IF 条件 THEN ELSEIF 条件 THEN ELSEIF 条件 THEN ELSE END If; ELSE ...
  • oracle中if else只能在存储过程中用吗? 执行 if 3=3 then select sysdate from dual ; end if; 为什么会报错,请各位大神们指点迷津,在下感激不尽!
  • Python的语法糖非常强大,比如Python中在for循环中嵌套使用ifelse语句的技巧便十分给力,下面我们就举几个例子来看详细的用法:
  • oracle存储过程里的ifelse语句这样写,想想也是醉了 if dwxh = 1 then num1 := num_sum; elsif dwxh = 2 then num2 := num_sum; elsif dwxh = 3 then num3 := num_sum; elsif dw

空空如也

空空如也

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

else存储过程的if