what's version psql you working on??
I pasted your example, it works fine.
you might miss something...
Jie LIANG
St. Bernard Software
10350 Science Center Drive
Suite 100, San Diego, CA 92121
Office:(858)320-4873
jliang@ipinc.com
www.stbernard.com
www.ipinc.com
On Mon, 5 Mar 2001, Lu Raymond wrote:
> Hello,all
>
> I use your a example of PL/pgSQL, but there are 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 (
> empname text,
> salary int4,
> last_date datetime,
> last_user name);
>
> CREATE FUNCTION emp_stamp () RETURNS OPAQUE AS'
> BEGIN
> -- Check that empname and salary are given
> IF NEW.empname ISNULL THEN
> RAISE EXCEPTION ''empname cannot be NULL value'';
> END IF;
> IF NEW.salary ISNULL THEN
> RAISE EXCEPTION ''% cannot have NULL salary'', NEW.empname;
> END IF;
>
> -- Who works for us when she must pay for?
> IF NEW.salary < 0 THEN
> RAISE EXCEPTION ''% cannot have a negative salary'', NEW.empname;
> END IF;
>
> -- Remember who changed the payroll when
> NEW.last_date := ''now'';
> NEW.last_user := getpgusername();
> RETURN NEW;
> END;
> ' 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.
> Thanks!
>
>
>
>
>
>
>
>
>
> _________________________________________________________________________
> Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly
>