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

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 条件控制语句

[<>]

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循环控制语句

[<>]

LOOP

statement……

END LOOP [lable_name];

4.eg:LOOP 写法如下:

DECLARE

v_sum NUMBER(4):=10;

BEGIN

<>

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;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值