What is wrong with this trigger code
Date: Fri, 13 Aug 1999 21:16:56 GMT
Message-ID: <37B48987.97C97E64_at_creditwatch-inc.com>
DECLARE [Quoted] v_coll accounts.coll_coll_id%TYPE;
CURSOR c_emp IS SELECT EMPLOYEES.EMP_ID
FROM ACCOUNTS, COLLECTORS, EMPLOYEES
[Quoted] WHERE accounts.coll_coll_id = v_coll and
((accounts.coll_coll_id=collectors.coll_id)
AND (collectors.emp_emp_id=employees.emp_id));
BEGIN
IF :old.aad_return = 'N' AND :new.aad_return = 'Y' THEN
v_coll := :new.coll_coll_id;
OPEN c_emp;
INSERT INTO messages(emp_emp_id,message,activate_dttime)
VALUES (c_emp,'Account '||acct_id||' has a bad address',SYSDATE);
CLOSE c_emp;
END IF;
END;
All this does is write a message to a messages table when the aad_return
field is marked to 'Y' on the accounts table. When I try to generate it,
I get the following message.
CDI-11307 Warning: (compilation error in TRIGGER 'MAIL_RETURN' at 16/9):
PLS-00320: the declaration of the type of this expression is incomplete
or malformed
CDI-11307 Warning: (compilation error in TRIGGER 'MAIL_RETURN' at 15/1):
PL/SQL: SQL Statement ignored
In order to get the employee_id, the linkage of tables is like this:
Accounts(table)
acct_id pk
coll_coll_id fk
Collectors(table)
coll_id pk
emp_emp_id fk
Employees(table)
emp_id pk
HELP. Received on Fri Aug 13 1999 - 23:16:56 CEST