I use your a example of PL/pgSQL, but I found some errors when I execute
these codes. The details are followings,
First, I create a exam.sql that includes these codes as followings,
CREATE TABLE emp (
CREATE FUNCTION emp_stamp () RETURNS OPAQUE AS'
-- Check that empname and salary are given
IF NEW.empname ISNULL THEN
RAISE EXCEPTION ''empname cannot be NULL value'';
IF NEW.salary ISNULL THEN
RAISE EXCEPTION ''% cannot have NULL salary'', NEW.empname;
-- Who works for us when she must pay for?
IF NEW.salary < 0 THEN
RAISE EXCEPTION ''% cannot have a negative salary'', NEW.empname;
-- Remember who changed the payroll when
NEW.last_date := ''now'';
NEW.last_user := getpgusername();
' LANGUAGE 'plpgsql';
CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
FOR EACH ROW EXECUTE PROCEDURE emp_stamp();
Secondly, I execute exam.sql and the postgress can create the table emp,
the function emp_stamp() and the trigger emp_stamp seccessfully.But when I
insert one record to table emp, there are some errors on the screen.
the insert statement is followings,
INSERT INTO emp Values('','','20001220','raymond');
the error of screen is:
NOTICE: plpgsql: ERROR during compile of emp_stamp near line 1
"RROR: parse error at or near "
Why? and what wrong is it? Please give me reply as possible as you can.
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
pgsql-hackers by date
|Next:||From: Tom Lane||Date: 2001-03-05 06:16:08|
|Subject: Re: How to handle waitingForLock in LockWaitCancel() |
|Previous:||From: Hiroshi Inoue||Date: 2001-03-05 03:05:16|
|Subject: How to handle waitingForLock in LockWaitCancel()|