Search Postgresql Archives

Field names and NEW

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Greetings to everyone on the list

I am attempting to write a system which would copy primary key values to another table after insert. To achieve this, I wrote a trigger function in Perl. I also wanted to make the function reusable, so the fields included in the query are passed as function arguments. Here is the code:

CREATE OR REPLACE FUNCTION ModifyInsert () RETURNS TRIGGER AS $$
    my $fieldnames = '';
    my $fieldvalues = '';
    my $mTablename = $_TD->{args}[1];

    for (my $i = 2; $i < $_TD->{argc}; $i++)
    {
        my $currentName = $_TD->{args}[$i];
        $fieldnames .= ", \"$currentName\"";
        $fieldvalues .= ", '$_TD->{new}{$currentName}'";
    }

my $query = "INSERT INTO $mTablename (pgts_modification_type $fieldnames) VALUES ('I' $fieldvalues)";
    spi_exec_query ($query);
    return;
$$ LANGUAGE PLPERL;

However, I would rather use PL/PgSQL, since the Perl interpreter might not be installed by default. Is there a way to access the NEW record without knowing the field names in advance?

--
Best regards,
Tuukka Norri


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux