| PostgreSQL 8.0.0beta4 Documentation | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 37. PL/Perl - Perl Procedural Language | Fast Forward | Next |
You can use the %_SHARED to store data between function calls.
For example:
CREATE OR REPLACE FUNCTION set_var(name TEXT, val TEXT) RETURNS TEXT AS $$
if ($_SHARED{$_[0]} = $_[1]) {
return 'ok';
} else {
return "Can't set shared variable $_[0] to $_[1]";
}
$$ LANGUAGE plperl;
CREATE OR REPLACE FUNCTION get_var(name TEXT) RETURNS text AS $$
return $_SHARED{$_[0]};
$$ LANGUAGE plperl;
SELECT set_var('sample', $q$Hello, PL/Perl! How's tricks?$q$);
SELECT get_var('sample');