Обсуждение: using queries as default value?
is it possible to have a query as a column default value. I have a statistic table and I would like one of its column to do like "select count(colx) from anothertable". What's the best way to do this? thanx in advance
Don, > is it possible to have a query as a column default value. I have a statistic > table and I would like one of its column to do like "select count(colx) from > anothertable". > What's the best way to do this? Add a Trigger to the table. See Triggers in the online docs, and also under the PL/pgSQL docs (under "Procedural Languages"). -- -Josh Berkus Aglio Database Solutions San Francisco
Am Sam, 2003-05-31 um 00.04 schrieb Don Patou: > is it possible to have a query as a column default value. I have a statistic > table and I would like one of its column to do like "select count(colx) from > anothertable". > What's the best way to do this? Maybe what you want is a VIEW. But that would always do the query _at runtime_, not while inserting. HTH -- e-Trolley Sayegh & John, Nabil Sayegh Tel.: 0700 etrolley /// 0700 38765539 Fax.: +49 69 8299381-8 PGP : http://www.e-trolley.de
Don Patou <pknoob@noos.fr> writes:
> is it possible to have a query as a column default value.
Not directly, but you can fake it by hiding the query in an SQL or PL
function that you call in the DEFAULT expression.
I agree with the nearby replies questioning whether this is really what
you want to do at all ... but if it's, that's how.
regards, tom lane
> Not directly, but you can fake it by hiding the query in an SQL or PL
> function that you call in the DEFAULT expression.
I tried this:
CREATE FUNCTION somefunc() RETURNS integer AS '
BEGIN
select count(colx) from anothertable;
END;
is it the right syntax?
also, how do I call my function as a default value, do I just need to "default
somefunc()" at the end of the column?
one more question, I couldn't find in the documentation how to dump databases
in a text file. could u give me the syntax?
thanx in advance