I tried to create function to truncate table
1) when the user call the function just specify the tablename
2) the user can use the function owner privilege to execute the function.
But I got the errors as follows. Please help me to take a look.
Thanks.
Regards.
Grace
------ function :
CREATE OR REPLACE FUNCTION truncate_t(tablename IN VARCHAR) RETURNS void AS
$$
DECLARE
stmt RECORD;
statements CURSOR FOR SELECT tablename FROM pg_catalog.pg_tables;
BEGIN
IF stmt IN statements then
EXECUTE 'TRUNCATE TABLE ' || quote_ident(stmt.tablename) || '
CASCADE;';
ELSE
The tablename doesn't exist.doesn
END IF ;
END;
$$ LANGUAGE 'plpgsql' security definer;
---- errors.
ERROR: syntax error at or near "$2"
LINE 1: SELECT $1 IN $2
^
QUERY: SELECT $1 IN $2
CONTEXT: SQL statement in PL/PgSQL function "truncate_t" near line 6
--
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-tp5613507p5613507.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.