精华内容
下载资源
问答
  • 如何创建if语句的存储过程
    千次阅读
    2021-05-01 10:59:10

    oracle 存储过程中 如果用if语句判断一条查询语句的结果集是否为空

    已经经过测试,可以。

    create table test1023(id int); --创建测试表 test1023

    declare cnt int;

    begin

    select count(*) into cnt from test1023;

    if cnt=0 then

    insert into test1023 values('1');

    commit;

    end if;

    end;

    oracle存储过程IF判断问题

    你的IF 逻辑有问题:当输入37的时候 flag>5 肯定结果是1,不会进入else了。

    你可以再第一行加上FLAG当然你下面的逻辑还有问题,你自己去琢磨琢磨,根据你的需求慢慢改吧!

    IF FLAG>5 and FLAGV_VALUE :=1;

    ELSIF FLAG>10 THEN

    V_VALUE :=2;

    ELSIF FLAGV_VALUE :=3;

    ELSIF FLAGV_VALUE :=4;

    ELSE V_VALUE :=5;

    END IF;

    实在搞不懂逻辑,可以用switch……case……这样清晰些。

    oracle怎么写IF语句

    如果是 SQL 语句里面使用。

    使用 DECODE 或者 CASE WHEN

    DECODE 的用法就是

    DECODE(abc, 50, 'A', 'B')

    CASE WHEN 的用法就是

    CASE WHEN abc=50 THEN 'A' ELSE 'B' END

    如果是在存储过程里面的话,就是简单的 IF/ELSE 了

    SQL 语句的话,就是

    SELECT

    abc, DECODE(abc, 50, 'A', 'B')

    FROM

    oracle 存储过程里的if else

    create or replace procedure p_run_temp as

    S_DATE:=to_number(to_char(sysdate,'d'),'9');--查询下to_char这个函数是否有问题

    begin

    if S_date=4 then

    p_temp();

    else

    p_temp2();

    end if ;

    end p_run_temp;

    存储过程一般用AS。而且题中的存储过程语法也有问题。

    更多相关内容
  • 主要介绍了mysql存储过程if语句用法,结合实例形式详细分析了mysql存储过程if语句相关原理、使用技巧与操作注意事项,需要的朋友可以参考下
  • IF语句 语法: IF expression THEN statements; END IF; -- IF expression THEN statements; ELSE else-statements; END IF; -- IF expression THEN statements; ELSEIF elseif-expression THEN elseif-...

    IF语句

    语法:

    IF expression THEN 
       statements;
    END IF; 
    
    --
    
    IF expression THEN
       statements;
    ELSE
       else-statements;
    END IF;
    
    --
    
    IF expression THEN
       statements;
    ELSEIF elseif-expression THEN
       elseif-statements;
    ...
    ELSE
       else-statements;
    END IF; 
    

    示例:

    DELIMITER $$
     
    CREATE PROCEDURE GetCustomerLevel(
        in  p_customerNumber int(11), 
        out p_customerLevel  varchar(10))
    BEGIN
        DECLARE creditlim double;
     
        SELECT creditlimit INTO creditlim
        FROM customers
        WHERE customerNumber = p_customerNumber;
     
        IF creditlim > 50000 THEN
            SET p_customerLevel = 'PLATINUM';
        ELSEIF (creditlim <= 50000 AND creditlim >= 10000) THEN
            SET p_customerLevel = 'GOLD';
        ELSEIF creditlim < 10000 THEN
            SET p_customerLevel = 'SILVER';
        END IF;
     
    END $$
    
    DELIMITER ;
    

    CASE语句

    简单CASE语句的语法:

    CASE  case_expression
       WHEN when_expression_1 THEN commands
       WHEN when_expression_2 THEN commands
       ...
       ELSE commands
    END CASE;
    

    示例:

    DELIMITER $$
     
    CREATE PROCEDURE GetCustomerShipping(
     in  p_customerNumber int(11), 
     out p_shiping varchar(50))
    BEGIN
        DECLARE customerCountry varchar(50);
     
        SELECT country INTO customerCountry
     FROM customers
     WHERE customerNumber = p_customerNumber;
     
        CASE customerCountry
     WHEN  'USA' THEN
        SET p_shiping = '2-day Shipping';
     WHEN 'Canada' THEN
        SET p_shiping = '3-day Shipping';
     ELSE
        SET p_shiping = '5-day Shipping';
     END CASE;
    END $$
    
    DELIMITER ; 
    
    -- 测试
    SET @customerNo = 112;
     
    SELECT country into @country
    FROM customers
    WHERE customernumber = @customerNo;
     
    CALL GetCustomerShipping(@customerNo,@shipping);
     
    SELECT @customerNo AS Customer,
           @country    AS Country,
           @shipping   AS Shipping; 
    

    在这里插入图片描述

    搜索CASE声明 :

    CASE
        WHEN condition_1 THEN commands
        WHEN condition_2 THEN commands
        ...
        ELSE commands
    END CASE; 
    

    示例:

    DELIMITER $$
     
    CREATE PROCEDURE GetCustomerLevel(
     in  p_customerNumber int(11), 
     out p_customerLevel  varchar(10))
    BEGIN
        DECLARE creditlim double;
     
        SELECT creditlimit INTO creditlim
     FROM customers
     WHERE customerNumber = p_customerNumber;
     
        CASE  
     WHEN creditlim > 50000 THEN 
        SET p_customerLevel = 'PLATINUM';
     WHEN (creditlim <= 50000 AND creditlim >= 10000) THEN
        SET p_customerLevel = 'GOLD';
     WHEN creditlim < 10000 THEN
        SET p_customerLevel = 'SILVER';
     END CASE;
     
    END$$
    
    DELIMITER ; 
    

    WHILE循环

    语法:

    WHILE expression DO
       statements
    END WHILE 
    

    WHILE 循环检查expression在每次迭代的开始。如果expression评估为TRUE,MySQL将 在评估statements之间执行 WHILE,END WHILE直到expression评估为止FALSE。WHILE 循环称为预测试循环,因为它在statements 执行之前检查表达式。

    示例:

    DELIMITER $$
    DROP PROCEDURE IF EXISTS test_mysql_while_loop$$ 
    CREATE PROCEDURE test_mysql_while_loop ( ) 
    	BEGIN
    	DECLARE x INT;
    	DECLARE str VARCHAR ( 255 );
    	SET x = 1;
    	SET str = '';
    	WHILE x <= 5 DO
    		SET str = CONCAT( str, x, ',' );
    		SET x = x + 1;
    	END WHILE;
    	SELECT str;
    END $$
    DELIMITER ; 
    
    CALL test_mysql_while_loop(); 
    

    在这里插入图片描述

    REPEAT循环

    语法:

    REPEAT
     statements;
    UNTIL expression
    END REPEAT 
    

    首先,MySQL执行statements,然后评估expression。如果expression评估为FALSE,则MySQL statements 重复执行直到expression 评估为止TRUE。

    因为REPEAT 循环语句expression 在执行后检查statements,所以REPEAT循环语句也称为测试后循环。

    示例:

    DELIMITER $$
    DROP PROCEDURE IF EXISTS mysql_test_repeat_loop $$ 
    CREATE PROCEDURE mysql_test_repeat_loop ( ) BEGIN
    	DECLARE x INT;
    	DECLARE str VARCHAR ( 255 );
    	SET x = 1;
    	SET str = '';
    	REPEAT
    		SET str = CONCAT( str, x, ',' );
    		SET x = x + 1;
    	UNTIL x > 5 
    	END REPEAT;
    	SELECT str;
    END $$
    DELIMITER ; 
    
    
    CALL mysql_test_repeat_loop(); 
    

    在这里插入图片描述

    LOOP,LEAVE和ITERATE语句

    有两个语句允许您控制循环:

    1. LEAVE语句允许您立即退出循环而无需等待检查条件。LEAVE语句的作用类似于PHP,C / C ++和Java等其他语言中的 break 语句。
    2. ITERATE语句允许您跳过其下的整个代码并开始新的迭代。ITERATE语句类似于PHP,C / C ++和Java中的continue语句。

    示例:

    DELIMITER $$
    DROP PROCEDURE IF EXISTS test_mysql_loop $$ 
    CREATE PROCEDURE test_mysql_loop() 
    BEGIN
      DECLARE x INT;
      DECLARE str VARCHAR ( 255 );
      SET x = 1;
      SET str = '';
      loop_label :LOOP
        IF x > 10 THEN
          LEAVE loop_label;
        END IF;
        SET x = x + 1;
        IF ( x MOD 2 ) THEN
          ITERATE loop_label;
        ELSE 
          SET str = CONCAT( str, x, ',' );
        END IF;
      END LOOP;
      SELECT str;
    END $$
    DELIMITER ;
    
    
    call test_mysql_loop(); 
    

    在这个例子中,

    1. 存储过程仅构造具有偶数的字符串,例如,2,4和6。
    2. 我们loop_label 在LOOP声明之前放置了一个循环标签。
    3. 如果值 x 大于10,则由于LEAVE语句而终止循环。
    4. 如果the的值x 是奇数,则ITERATE 语句忽略其下的所有内容并开始新的迭代。
    5. 如果the的值x 是偶数,则ELSE语句中的块将构建具有偶数的字符串。
      在这里插入图片描述
    展开全文
  • mysql存储过程 if 语句

    千次阅读 2021-01-27 21:36:04
    MySql的存储过程存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句存储过程和函数可以避免开发人员重复的编写相同的SQL语句。而且,存储过程和函数是在...

    MySql的存储过程

    存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句。存储过程和函数可以避免开发人员重复的编写相同的SQL语句。而且,存储过程和函数是在MySQL服务器中存储和执行的。可以减少客户端和服务器端的数据传输。

    创建存储过程和存储函数

    数据库系...

    文章

    jephon

    2016-11-07

    720浏览量

    MySQL 5之存储过程

    载记一:

    实现过程

    (1)MySQL存储过程是在“命令提示符”下创建的,所以首先应该打开“命令提示符”窗口。

    (2)进入“命令提示符”窗口后,首先应该登录MySQL数据库服务器,在“命令提示符”下输入如下命令:

    mysql –u用户名 –p用户密码

    (3)更改语句结束符号,本实例将语句结...

    文章

    技术小胖子

    2017-11-10

    734浏览量

    Mysql高级之存储过程

    原文:

    Mysql高级之存储过程

    概念类似于函数,就是把一段代码封装起来,当要执行这一段代码的时候,可以通过调用该存储过程来实现.在封装的语句体里面,可以用if/else, case,while等控制结构.可以进行sql编程.

    在mysql中,存储过程和函数...

    文章

    杰克.陈

    2014-11-14

    657浏览量

    2107fbe6c5ed95c9d4c764a2741ac656.png

    阿里云爆款特惠专场,精选爆款产品低至0.95折!

    爆款ECS云服务器8.1元/月起,云数据库低至1.5折,限时抢购!

    广告

    MySql存储过程

    MySQL 存储过程是从 MySQL 5.0 开始增加的新功能。存储过程的优点有一箩筐。不过最主要的还是执行效率和SQL 代码封装。特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句。特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹...

    文章

    科技小先锋

    2017-11-15

    892浏览量

    Mysql函数(function)|存储过程(procedure)

    function_procedure

    函数

    mysql内置的函数很好用,同样mysql也支持用户自定义函数

    1.为避免和函数中的语句结束符;冲突,将语句结束符号临时重定义为$$

    delimiter $$

    2.书写函数体

    语法

    create function 函数名(参数列表) retu...

    文章

    木子昭

    2017-08-25

    601浏览量

    存储过程实例

    存储过程:是为了完成特定功能的sql语句集。实例一:无参的存储过程

    $conn = mysql_connect('localhost','root','root') or die ("数据连接错误!!!");

    mysql_select_db('test',$conn);

    $sql = "

    crea...

    文章

    wensongyu

    2014-12-02

    624浏览量

    我的MYSQL学习心得(十) 自定义存储过程和函数

    这一篇《我的MYSQL学习心得(十)》将会讲解MYSQL的存储过程和函数

    MYSQL中创建存储过程和函数分别使用CREATE PROCEDURE和CREATE FUNCTION

    使用CALL语句来调用存储过程,存储过程也可以调用其他存储过程

    函数可以从语句外调用,能返回标量值

    创建存储过程

    语法...

    文章

    skyme

    2016-05-05

    1367浏览量

    Mysql学习笔记(十)存储过程与函数 + 知识点补充(having与where的区别)

    原文:Mysql学习笔记(十)存储过程与函数 + 知识点补充(having与where的区别)

    学习内容:存储程序与函数。。。这一章学的我是云里雾里的。。。

    1.存储过程。。。

    Mysql存储过程是从mysql 5.0开始增加的一个新功能.存储过程的优点其实有很多,不过我觉得存储过程最重要...

    文章

    杰克.陈

    2015-05-09

    1052浏览量

    mysql 存储过程2

    引用:http://www.blogjava.net/sxyx2008/archive/2009/11/24/303497.html

    MySQL存储过程

    1.1         CREATE  PROCEDURE  (创建)

    CREATE PROCEDURE存储过程名 (参数列表)

    BE...

    文章

    古镇月影

    2013-02-28

    656浏览量

    mysql数据库存储过程

    存储过程简介

    存储过程可以简单理解为一条或者多条sql语句的集合,存储过程用来实现将一组关于表的操作的sql语句当作一个整体来执行,存储过程在实际应用中最主要的特点的事提高执行效率以及sql代码封装功能,特别是sql代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如php),要组织很...

    文章

    技术小牛人

    2017-11-25

    696浏览量

    mysql数据库存储过程

    存储过程简介

    存储过程可以简单理解为一条或者多条sql语句的集合,存储过程用来实现将一组关于表的操作的sql语句当作一个整体来执行,存储过程在实际应用中最主要的特点的事提高执行效率以及sql代码封装功能,特别是sql代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如php),要组织很...

    文章

    技术小牛人

    2017-11-18

    608浏览量

    PHP调用MYSQL存储过程实例

    PHP调用MYSQL存储过程实例

    标签: mysql存储phpsqlquerycmd

    2010-09-26 11:10 11552人阅读 评论(3) 收藏 举报

    实例一:无参的存储过程$conn = mysql_connect('localhost','root','root') o...

    文章

    thinkyoung

    2016-01-20

    546浏览量

    Mysql存储过程从0开始(上)

    1、首先你要明白,mysql也是一种语言,他也可以编写程序,也是支持逻辑判断,if,elseif,else,switch,while等等的判断

    2、mysql赋值一个变量的值操作:set @a = 1;  查看这个变量为select @a;

    3、当你创建存储过程的时候你要先选择Mysql的数据库,...

    文章

    思梦php

    2017-01-08

    563浏览量

    MySQL 第八篇:自定义函数、存储过程、游标

    我把MySQL的内容整理成9篇博客,学完这9篇博客虽不能说能成为大神,但是应付一般中小企业的开发已经足够了,有疑问或建议的欢迎留言讨论。

    自定义函数

    一、函数的概念与定义

    1、理解函数

    函数可以看作是一个加工作坊,这个加工作坊接收调用者传递过来的原料(传递的参数),然后将这些原料加...

    文章

    我巴巴

    2017-10-29

    2087浏览量

    什么是存储过程,在实际项目中用得多么?

    存储过程是程序化的 SQL,可以直接操作底层数据表,相比于面向集合的操作方式,能够实现一些更复杂的数据处理。存储过程可以说是由 SQL 语句和流控制语句构成的语句集合,它和我们之前学到的函数一样,可以接收输入参数,也可以返回输出参数给调用者,返回计算结果。

    存储过程像是函数.

    什么是存储过程,如何...

    文章

    码农架构

    2020-10-19

    336浏览量

    MySQL 存储过程和函数(转)

    概述

    一提到存储过程可能就会引出另一个话题就是存储过程的优缺点,这里也不做讨论,一般别人问我我就这样回答你觉得它好你就用它。因为mysql中存储过程和函数的语法非常接近所以就放在一起,主要区别就是函数必须有返回值(return),并且函数的参数只有IN类型而存储过程有IN、OUT、INOUT这三种...

    文章

    developerguy

    2016-03-22

    1001浏览量

    sqlServer存储过程

    1、创建存储过程报错:

    'CREATE/ALTER PROCEDURE' 必须是查询批次中的第一个语句。

    解决方法:

    use databaseName

    后面要加上一句:

    GO

    二、标准创建案例

    use ...

    文章

    长空翱翔

    2015-11-12

    586浏览量

    MySQL存储过程中的语法学习

    以下的文章主要介绍的是MySQL存储过程中的语法学习,主要内容包括名字,参数列表,与很多SQL语句的SQL语句集。以下就是具体方案的描述,希望会给你带来一些帮助在此学习方面。

    一个存储过程包括名字,参数列表,以及可以包括很多SQL语句的SQL语句集。

    创建存储过程:

    语法:

    CREA...

    文章

    余二五

    2017-11-24

    808浏览量

    MySQL存储过程中的语法学习

    以下的文章主要介绍的是MySQL存储过程中的语法学习,主要内容包括名字,参数列表,与很多SQL语句的SQL语句集。以下就是具体方案的描述,希望会给你带来一些帮助在此学习方面。

    一个存储过程包括名字,参数列表,以及可以包括很多SQL语句的SQL语句集。

    创建存储过程:

    语法:

    CREA...

    文章

    余二五

    2017-11-15

    740浏览量

    对一个MySQL存储过程的优化

    在编写MySQL存储过程的过程中,我们会时不时地需要对某些存储过程进行优化,其目的是确保代码的可读性、正确性及运行性能。本文以作者实际工作为背景,介绍了对某一个MySQL存储过程优化的整个过程。

    在本文中,需要被优化的存储过程如下:

    drop procedure if exists pr_de...

    文章

    周兆熊

    2016-06-23

    607浏览量

    mysql存储过程 基本语法

    1

    话不多说

    一、MySQL 创建存储过程

    “pr_add” 是个简单的 MySQL 存储过程,这个存储过程有两个 int 类型的输入参数 “a”、“b”,返回这两个参数的和。

    drop procedure if exists pr_add;

    -- 计算两...

    文章

    余二五

    2017-11-15

    742浏览量

    MySQL带参数的存储过程小例子

    存储过程P_GET_CLASS_NAME是根据输入的班级号判断班级名称

    存储过程P_INSERT_STUDENT是接收输入的学生信息,最终将信息插入学生表。

    DROP PROCEDURE IF EXISTS `P_GET_CLASS_NAME`;

    CREATE PROCEDURE P_GET_CL...

    文章

    it徐胖子

    2012-12-20

    688浏览量

    存储过程之一—建立简单的存储过程

    一、存储过程

    存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户 通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。而我们常用的操作数据库语言SQL语句在执行的时

    候需要要先编译,然后执行,所以执...

    文章

    烟火_

    2014-08-12

    556浏览量

    MySQL 存储过程

    存储过程是通过给定的语法格式编写自定义的数据库API,类似于给数据库编写可执行函数。

    简介

    存储过程是一组为了完成特定功能的SQL语句集合,是经过编译后存储在数据库中。

    存储过程增强了SQL语言的功能和灵活性,它可以使用流控制语句编写来完成复杂的判断和计算。

    存储过程是把完成特定功能的SQL语句...

    文章

    ghost丶桃子

    2016-05-20

    1846浏览量

    MySQL存储过程_创建-调用

    存储过程:SQL中的“脚本”

    创建存储过程

    调用存储过程

    存储过程体

    语句块标签

    存储过程的参数

    in:向过程里传参

    out:过程向外传参值

    inout:in and out

    #SQL语句:先编译后执行

    存储过程(Stored Pro...

    文章

    技术小胖子

    2017-11-10

    838浏览量

    MySQL-简要说明

    分类

    安装发展顺序分为:

    网状型数据库

    层次型数据库

    关系型数据库

    面向对象数据库

    主流:关系型数据库

    关系型数据库

    事务transaction:

    多个操作被当作一个整体对待

    • ACID:     A :原子性     C :一致性     I :隔离性     D:持久性

    实体Ent...

    文章

    刘小四

    2018-07-29

    1013浏览量

    c / c + + 调用mysql存储过程

    原文:c / c + + call mysql stored procedure

    E文好的请查看原文,菜鸟级翻译,欢迎批评指正!

    mysql5.0支持存储过程后,现在mysql6.0Alpha 版本也是可用的。6.0不仅支持大型数据库(如 oracle和如此的大多数功能(如存储过程、视图、...

    文章

    微wx笑

    2014-02-10

    413浏览量

    MySQL 存储过程

    存储过程是通过给定的语法格式编写自定义的数据库API,类似于给数据库编写可执行函数。

    简介

    存储过程是一组为了完成特定功能的SQL语句集合,是经过编译后存储在数据库中。

    存储过程增强了SQL语言的功能和灵活性,它可以使用流控制语句编写来完成复杂的判断和计算。

    存储过程是把完成特定功能的SQL语句...

    文章

    文艺小青年

    2017-11-23

    957浏览量

    Mysql中的存储过程

    什么是存储过程

    简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法;

    ps:存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比触发器更加强大,触发器是某件事触发后自动调用;

    有哪些特性

    有输入输出参数,可以声明变量...

    文章

    文艺小青年

    2017-11-15

    660浏览量

    Mysql中的函数

    什么是函数

    mysql中的函数与存储过程类似,都是一组SQL集;

    与存储过程的区别

    函数可以return值,存储过程不能直接return,但是有输出参数可以输出多个返回值;

    函数可以嵌入到sql语句中使用,而存储过程不能;

    函数一般用于实现较简单的有针对性的功能(如求绝对值、返回当前时间等)...

    文章

    文艺小青年

    2017-11-16

    741浏览量

    展开全文
  • Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用: IF表达式 代码如下: IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的...
  • 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语句语法

    下面说明了IF语句的语法:

    IF expression THEN 
       statements;
    END IF;

    如果表达式(expression)计算结果为TRUE,那么将执行statements语句,否则控制流将传递到END IF之后的下一个语句。

    以下流程图演示了IF语句的执行过程:

    MySQL IF ELSE语句

    如果表达式计算结果为FALSE时执行语句,请使用IF ELSE语句,如下所示:

    IF expression THEN
       statements;
    ELSE
       else-statements;
    END IF;

    以下流程图说明了IF ELSE语句的执行过程:

     

    MySQL IF ELSEIF ELSE语句

    如果要基于多个表达式有条件地执行语句,则使用IF ELSEIF ELSE语句如下: 

     

    复制代码

    IF expression THEN
       statements;
    ELSEIF elseif-expression THEN
       elseif-statements;
    ...
    ELSE
       else-statements;
    END IF;

    复制代码

    如果表达式(expression)求值为TRUE,则IF分支中的语句(statements)将执行;如果表达式求值为FALSE,则如果elseif_expression的计算结果为TRUE,MySQL将执行elseif-expression,否则执行ELSE分支中的else-statements语句。具体流程如下

    MySQL IF语句示例

    以下示例说明如何使用IF ESLEIF ELSE语句,GetCustomerLevel()存储过程接受客户编号和客户级别的两个参数。

    首先,它从customers表中获得信用额度

    然后,根据信用额度,它决定客户级别:PLATINUM , GOLD 和 SILVER 。

    参数p_customerlevel存储客户的级别,并由调用程序使用。

     

    复制代码

    USE yiibaidb;
    
    DELIMITER $$
    
    CREATE PROCEDURE GetCustomerLevel(
        in  p_customerNumber int(11), 
        out p_customerLevel  varchar(10))
    BEGIN
        DECLARE creditlim double;
    
        SELECT creditlimit INTO creditlim
        FROM customers
        WHERE customerNumber = p_customerNumber;
    
        IF creditlim > 50000 THEN
     SET p_customerLevel = 'PLATINUM';
        ELSEIF (creditlim <= 50000 AND creditlim >= 10000) THEN
            SET p_customerLevel = 'GOLD';
        ELSEIF creditlim < 10000 THEN
            SET p_customerLevel = 'SILVER';
        END IF;
    
    END$$

    复制代码

    以下流程图演示了确定客户级别的逻辑

     

     

    展开全文
  • MySQL IF ELSEIF ELSE基于多个表达式执行语句。其语法如下-IFexpressionTHENstatements;ELSEIFelseif-expressionTHENelseif-statements;...为了演示IF ELSEIF ELSE语句在MySQL存储过程中的使用,我们基于以下名...
  • 存储过程if,else怎幺写?Oracle 是下面这种写法:IF testvalue > 100 THENdbms_output.put_line( '100+' );ELSIF testvalue = 100 THENdbms_output.put_line( '100' );ELSEdbms_output.put_line( '100-' );END ...
  • mysql存储过程if语句了解下

    万次阅读 2018-07-09 13:41:13
    mysql中的 IF语句允许我们根据表达式的某个条件或值结果来执行一组SQL语句,所以我们要在MySQL中形成一个表达式,可以结合文字,变量,运算符,甚至函数来组合。表达式可以返回TRUE,FALSE或NULL,这三个值之一。来看...
  • MySQL存储过程语句(变量,if,while)的使用
  • MYSQL中存储过程创建,调用及语法

    千次阅读 2021-01-18 21:23:50
    特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如PHP),要组织很多SQL语句。特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在PHP代码中,让人不寒而栗。现在有了 MySQL 存储过程,业务...
  • 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_...
  • 存储过程——IF判断

    千次阅读 2022-04-18 14:50:45
    在PL/SQL中,IF、THEN、ELSE、ELSIF和END IF等关键字用于执行条件逻辑: IF condition1 THEN ...statements1、statements2、statements3是PL/SQL语句。 条件逻辑的流程如下: 如果condition1为真,就执行sta
  • 存储过程if语句and

    千次阅读 2021-05-02 08:19:36
    存储过程 if语句的使用create proc sp_testasdeclare @_value intselect top 1 @_value = rrrid from readerinfo where readerid='s001'if @value = 0beginupdate readerinfo set rrrid=20 where readerid='s001'...
  • mysql存储过程 | 条件语句if

    千次阅读 2020-08-02 21:23:14
    条件语句结构: //1 基本判断结构 if() then ... else ... end if; //2 多条件判断结构 if() then ...elseif() then ...-- 创建存储过程 delimiter $$ create procedure test5(in age int) begin if(a
  • Oracle之创建存储过程SQL语句

    千次阅读 2020-05-19 17:23:26
    1、创建存储过程。 create or replace procedure myprocedure(sid in number) as exam number; begin select * from score where sid=score.userid; dbms_output.put_line(exam); if exam>60 then dbms_o
  • ORACLE存储过程的分支语法(IF语句

    万次阅读 2018-05-31 11:12:14
    基本语法1.if 条件 then 语句1; 语句2; end if;2.if 条件 then 语句序列1; esle 语句序列; end if;3. if 条件 then 语句;elsif 语句 then 语句; else 语句; end if;...
  • 存储过程if,else怎么写?

    千次阅读 2021-01-18 22:42:35
    展开全部不同的数636f70793231313335323631343130323136353331333337613861据库中,存储过程if else 语句写法有一些差别。如果是SQLServer数据库,存储过程if, else语句可以这样写:ifa>bBeginprint'a'...
  • oracle 存储过程语句总结

    千次阅读 2021-05-01 05:50:17
    /////////////////////////////////////////////////////////////////////////////////////////////////////////// //IF的条件语句 ////////////////////////////////////////////////////////////////////////////...
  • MySQL创建存过经典总结,没有之一
  • MySQL的存储过程——流程控制-if判断

    千次阅读 2022-03-18 20:38:21
    IF语句包含多个条件判断,根据结果为TRUE、FALSE执行语句,与编程语言中的if、else if、else语法类似,其语法格式如下: -- 语法 if search_condition_1 then statement_list_1 [elseif search_condition_2 then ...
  • Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三...
  • mysql-存储过程(二)-逻辑判断语句

    千次阅读 2021-01-18 19:27:37
    一,if语句:IF(expr1,expr2,expr3)如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。...
  • 存储过程是一组为了完成某项特定功能的sql语句集,其实质上就是一段存储在数据库中的代码,他可以由声明式的sql语句(如CREATE,UPDATE,SELECT等语句)和过程式sql语句(如IF…THEN…ELSE控制结构语句)组成。存储...
  • SQL数据库语句创建及管理存储过程

    千次阅读 2020-07-27 19:06:18
    1.创建一个无参存储过程pr_stuscore,查询以下信息:学号、姓名、性别、课程名称、考试成绩。 CREATE PROC pr_stuscore AS SELECT student.s_id,sname,ssex,cname,grade from student,course,grade WHERE student ...
  • SQL创建存储过程

    千次阅读 2021-11-17 10:45:33
    创建SQL存储过程需要使用到的语法 - 创建存储过程 CREATE 存储过程的名称(参数) BEGIN ...需要执行的SQL语句 END - 调用 CALL 存储过程的名称(参数) 个人看法,这就是一个函数... 无参数 CREATE PROCEDURE p_...
  • create procedure #pr_... 功能:通过创建临时存储过程拼接SQL语句,实现创建文件组语句可以传递参数,避免写重复代码段,实现脚本代码的封装复用。 */ declare @sql nvarchar(max) select @sql = ' if not ex
  • oracle支持在函数或存储过程之外使用if else for等任何语句,而mysql执行if else for等语句只能在函数或存储过程中才行!
  • 存储过程简单来说,就是为以后的使用而保存的一条或多条 MySQL 语句的集合。可将其视为批处理文件。虽然他们的作用不仅限于批处理。 本文将通过一个实例初步掌握存储过程,当然要深入学习了解的话还是要看教程文档了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 588,739
精华内容 235,495
热门标签
关键字:

如何创建if语句的存储过程