PDA

Visualizza la versione completa : [PostgreSQL] Memorizzare il risultato di una SELECT in una variabile!


uzmki
25-09-2009, 21:19
Buon giorno ragazzi, vi chiedo se è possibile memorizzare il contenuto di una SELECT all'interno di una variabile, ad esempio attraverso un codice del tipo:

idgruppo AS SELECT etc ...

Il tutto lo vorrei usare all'interno di una function ed utilizzare il risultato conservato in idgruppo per poter eseguire in INSERT INTO etc..
Cioè voglio passare il risultato della SELECT come VALUES(idgruppo, ...).
Si può fare!

Vi ringrazio!

denis76
26-09-2009, 12:05
Non ho capito bene ciò che hai chiesto comunque si possono fare diverse cose:


select nome from agenda where id_nome in (select id_nome from simpatici)

ti ritorna l'elenco dei nomi della tabella agenda solo se essi sono contenuti nella tabella simpatici.
Se usi funzioni scritte in plpgsql (il linguaggio di default di PostgreSQL) puoi fare tutto e di più con variabili record eccetera.

Ecco una funzione che fa qualcosa:


create or replace function VerificaPresenzaTabella(Tabella Text, Testo Text) returns Integer as $body$
declare
Risultato Integer;
TabellaCreata Integer;
begin
TabellaCreata= 0;
Risultato= count(relname) from pg_catalog.pg_stat_user_tables where relname= Tabella;
if Risultato= 0 then
execute 'create table ' || quote_ident(Tabella) || '(' || Testo || ')';
TabellaCreata= 1;
end if;
return TabellaCreata;
end;
$body$ language 'plpgsql';

Loading