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;

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐