oracle中 =: 和 := 分别是什么意思

如题所述

oracle 里面 := 是 存储过程的 赋值的意思
例如:
SQL> DECLARE
2 testvalue VARCHAR2(20);
3 BEGIN
4 testvalue := 'First Test!';
5 dbms_output.put_line( testvalue );
6 END;
7 /
First Test!

PL/SQL procedure successfully completed.

至于 =:
这个我怀疑, 有可能是 触发器里面的判断处理
例如:

CREATE OR REPLACE TRIGGER BeforeInsertDetail
BEFORE INSERT ON OrderDetail
FOR EACH ROW
DECLARE v_nowCount INT;
BEGIN
SELECT
Amount INTO v_nowCount
FROM
Goods
WHERE
ID = :new.GoodsID;

IF v_nowCount - :new.Amount < 0 THEN
RAISE_APPLICATION_ERROR(-20000, '库存不足!');
ELSE
UPDATE
Goods
SET
Amount = Amount - :new.Amount
WHERE
ID = :new.GoodsID;
END IF;
END;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-20
=:应该相当于 a = :b 表明b是个绑定变量,需要执行时进行变量绑定
:= 相当于一般编程语言中的 赋值 a := 1 即将 数字1赋值给变量 a
第2个回答  2011-10-20
=: 后面是要接变量
:= 是在procdure中接常量值
第3个回答  2020-11-13
有额度后就可以了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网