为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

陪伴而非守候 2021-01-05 09:07:03
oracle中 =: 和 := 分别是什么意思
查看完整描述

2 回答

?
开心每一天1111

TA贡献1836条经验 获得超12个赞

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;



查看完整回答
反对 回复 2021-03-22
?
茅侃侃

TA贡献1842条经验 获得超21个赞

=:应该相当于 a = :b 表明b是个绑定变量,需要执行时进行变量绑定
:= 相当于一般编程语言中的 赋值 a := 1 即将 数字1赋值给变量 a

查看完整回答
反对 回复 2021-03-22
  • 2 回答
  • 0 关注
  • 574 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信