【发布时间】:2014-12-20 20:40:15
【问题描述】:
我不知道如何使用 Oracle 中的内部函数来执行此触发器
CREATE OR REPLACE TRIGGER promo
AFTER INSERT ON promociones
FOR EACH ROW
DECLARE nomb VARCHAR2(20); times NUMBER; cont NUMBER;
FUNCTION veces (promo VARCHAR2(20))
RETURN NUMBER as cont
BEGIN
SELECT count(*) INTO cont FROM promociones WHERE id2=promo;
RETURN cont;
END veces;
BEGIN
times:= veces(:new.id2);
SELECT nombre into nomb FROM promociones WHERE id=:new.id2;
DBMS_OUTPUT.PUT_LINE (nomb || times);
END;
/
然后对我说:'在期望以下之一时遇到了符号 "("::= .) ,@ % 默认字符。符号“:=”被替换为“(”以继续。 ' '当期望以下之一时遇到符号“BEGIN”:常量异常(标识符)(双引号分隔标识符)表长双参考字符时间戳间隔日期二进制国家字符nchar。 '在期待以下情况时遇到符号“文件结尾”:begin function pragme procedure'
这个触发器的真正语法是怎样的?请帮帮我。
【问题讨论】:
标签: database oracle function triggers