Thread: Function Doubt

Function Doubt

From
Wilton
Date:
Inside a function of trigger type, i have:

Declare   qCampos record;   StrCampo string;   StrInsert string;
Begin
   StrCampo = '''';   StrInsert = '''';
   For qCampos in select pga.attname from pg_class pgc, pg_attribute pga                  where pgc.relname = '''' ||
tg_relname|| '''' and                  pgc.oid = pga.attrelid and pga.attnum > 0 and                  attisdropped <>
''t''Loop
 
      StrCampo = ''new.'' || qCampos.attname;      StrInsert = StrInsert || virgula || StrCampo || '' - '';   End
Loop;
   Return new;
End;

What i need to do for the variable StrCampo returns to me "SP", "RJ", i 
mean, return a value inserted into the field.
I do not want to use static command new.campo1, new.campo2....

Thanks,

Wilton Ruffato Wonrath



-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.7.6 - Release Date: 27/1/2005



Re: Function Doubt

From
Richard Huxton
Date:
Wilton wrote:
>       StrCampo = ''new.'' || qCampos.attname;
>       StrInsert = StrInsert || virgula || StrCampo || '' - '';
>    End Loop;
> 
>    Return new;
> End;
> 
> What i need to do for the variable StrCampo returns to me "SP", "RJ", i 
> mean, return a value inserted into the field.
> I do not want to use static command new.campo1, new.campo2....

Ah - you can't. Not in plpgsql, anyway. You should perhaps look at pltcl 
or plperl.

--  Richard Huxton  Archonet Ltd