Tom,

Thanks.  I found out the key issue it. It's because the truncate command
can't have the "cascade".

For the other people reference. The right funcitons are :

*********************************************************** 

CREATE OR REPLACE FUNCTION truncate_t (IN tablename text) 
RETURNS VOID 
AS 
$$ 
BEGIN 
        EXECUTE 'TRUNCATE TABLE ' || quote_ident(tablename) || ';'; 
EXCEPTION 
        WHEN undefined_table THEN 
                RAISE EXCEPTION 'Table "%" does not exists', tablename; 
END; 
$$ 
LANGUAGE plpgsql SECURITY DEFINER STRICT; 

*********************************************************** 

*********************************************************** 

CREATE OR REPLACE FUNCTION truncate_t (tablename text) 
RETURNS VOID 
AS 
$$ 
BEGIN 
        EXECUTE 'TRUNCATE TABLE ' || quote_ident(tablename) || ';'; 
EXCEPTION 
        WHEN undefined_table THEN 
                RAISE EXCEPTION 'Table "%" does not exists', tablename; 
END; 
$$ 
LANGUAGE plpgsql SECURITY DEFINER STRICT; 

*********************************************************** 


usage : select truncate_t ('aaa');


Thanks everybody's help.

Regards.

Grace

--
View this message in context: 
http://postgresql.1045698.n5.nabble.com/Please-help-me-to-take-a-look-of-the-erros-in-my-functions-Thanks-tp5613507p5615529.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to