About using plpgsql funciton variable as the table name - Mailing list pgsql-general

From Ying Lu
Subject About using plpgsql funciton variable as the table name
Date
Msg-id 42FB67F6.6000207@cs.concordia.ca
Whole thread Raw
Responses Re: About using plpgsql funciton variable as the table  (Richard Huxton <dev@archonet.com>)
Re: About using plpgsql funciton variable as the table  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
List pgsql-general
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

pgsql-general by date:

Previous
From: Chris Browne
Date:
Subject: Re: World-wide Stop Order on PERL,Python,Java::->> Use
Next
From: David Fetter
Date:
Subject: Re: Exceptions in PL/Perl?