美文网首页
oracle中使用常量、变量和基本处理流程

oracle中使用常量、变量和基本处理流程

作者: 简兮_d116 | 来源:发表于2020-02-25 18:38 被阅读0次

    oracle 中的常量和变量

    :变量:通过变量,可以把需要的参数传递进来,经过处理后还可以把值传出去,最终返回给用户。

    常量:常量是代码中固化的信息,常量的值从定义开始就是固定的。常量主要用于为程序提供固定和精准的值,包括数值和字符串,如数字/逻辑值。

    常量语法格式如下:

    constant_name CONSTANT datatype

    [NOT NULL]

    {:=| DEFAULT} expression;

    变量语法格式如下:

    variable_name datatype

    [

    [NOT NULL]

    {:=| DEFAULT} expression;

    ];

    在程序中变量和常量的使用方法:

    DECLARE

    v_fid VARCHAR2(10);

    v_fname VARCHAR2(255);

    v_fprice number(8,2);

    v_date DATE:=SYSDATE;

    v_ceshi CONSTANT v_fname%TYPE:='这是测试';

    BEGIN

    SELECT F_ID,F_NAME,F_PRICE INTO v_fid,v_name,v_fprice

    FROM FRUITS

    WHERE F_ID = 't1';

    DBMS_OUTPUT.PUT_LINE('这个是水果id'|| v_fid);

    DBMS_OUTPUT.PUT_LINE('常量是v_ceshi'|| v_ceshi);

    END;

    注:PL/SQL 中也是可以使用表达式的(运算式)。



    oracle 中的基本处理流程

    一:IF 控制语句

    if语句是对分支做判断的语句,主要包含IF……结构、IF……ELSE结构、IF……ELSEIF……结构。

    IF结构语法如下:

    IF condition THEN

    statements;

    END IF;

    1.eg: IF 结构写法

    DECLARE

    v_abs numbers(86+20*3-15**2);

    IF v_abs>50 THEN

    DBMS_OUTPUT.PUT_LINE('v_abs=' || v_abs || '该值大于50的');

    END IF;

    DBMS_OUTPUT.PUT_LINE('这是一个IF条件语句');

    二:IF……ELSE……结构

    IF……ELSE……结构通常用于一个条件需要两个程序分支来执行的情况。IF……ELSE……结构的语法格式如下:

    IF condition THEN

    statements;

    ELSE

    statements;

    END IF;

    2.eg: IF……ELSE……结构写法

    DECLARE

    v_abs number(8);

    BEGIN

    v_abs := ABS(86+20*3-15**2);

    IF v_abs>80 THEN

    DBMS_OUTPUT.PUT_LINE('v_abs=' || v_abs || '该值大于80');

    ELSE

    IF v_abs<80 THEN

    DBMS_OUTPUT.PUT_LINE('v_abs=' || v_abs || '该值小于80');

    END IF;

    END;

    三:IF……ELSEIF……同理

    ……


    case 条件控制语句

    [<<lable_name>>]

    CASE case_operand

    WHEN when_operand THEN

    statement;

    [

    WHEN when_operand THEN

    statement;

    [

    WHEN when_operand THEN

    statement;

    ]……

    [ELSE statement[statement;]]……;

    END CASE[label_name];

    3.eg:case……when……写法

    DECLARE

    v_fid VARCHAR2(10);

    BEGIN

    SELECT F_ID INFO v_fid

        FROM FRUITS

    WHERE FRUITS.F_ID='t1';

    CASE v_fid

    WHEN 'a1' THEN

    DBMS_OUTPUT.PUT_LINE('这是苹果');

    WHEN 't1' THEN

    DBMS_OUTPUT.PUT_LINE('这是香蕉');

    ELSE

    DBMS_OUTPUT.PUT_LINE('这是黎');

    END CASE;

    END;


    LOOP循环控制语句

    [<<lable_name>>]

    LOOP

    statement……

    END LOOP [lable_name];

    4.eg:LOOP 写法如下:

    DECLARE

    v_sum NUMBER(4):=10;

    BEGIN

    <<bbscip loop>>

    LOOP

    DBMS_OUTPUT.PUT_LINE('目前v_summ为:' || v_summ);

    v_summ:=v_summ-2;

    IF v_summ<1 THEN

        DBMS_OUTPUT.PUT_LINE('退出LOOP循环,当前v_summ为:' || v_summ);

            EXIT bbscip loop;

    END IF;

    END LOOP;

    END;

    相关文章

      网友评论

          本文标题:oracle中使用常量、变量和基本处理流程

          本文链接:https://www.haomeiwen.com/subject/olezqhtx.html