Greetings,

I met a question about how to use *function variable *as the *table name* to select count(*) into an integer variable for the table.


CREATE OR REPLACE FUNCTION update_code_map(VARCHAR, VARCHAR) RETURNS VARCHAR AS $$
DECLARE
   *tableName         ALIAS FOR $1*;
   *rec_num             INTEGER*;
   query_value            VARCHAR;
BEGIN -- way 1 query_value := 'SELECT *INTO rec_num* COUNT(*) FROM ' || tableName || ' ';
    EXECUTE query_value;

    -- way 2
     -- SELECT INTO rec_num COUNT(*) FROM tableName;
RAISE NOTICE 'There are % records in % table. ', rec_num, tableName;

RETURN 'Populate ' || tableName || ' successfully!'; END;
$$ LANGUAGE plpgsql;
select update_code_map('code_map.dw_adm_dsn_map', '066');



I tried way 1 & way 2 , but neither of them worked. Could someone give some clues?

Thanks a lot!
Emi

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to