Expr Abbreviations/Functions?

From: Kenneth Jacker <khj(at)cs(dot)appstate(dot)edu>
To: pgsql-sql(at)postgresql(dot)org
Subject: Expr Abbreviations/Functions?
Date: 1999-07-24 15:13:19
Message-ID: e3dye2i9c.fsf@beagle.cs.appstate.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I find myself frequently typing (postgresql-6.5.1) the following:

SELECT * FROM table
WHERE (f1 ~* 'foo' OR f2 ~* 'foo' OR f3 ~* 'foo');

Can "CREATE FUNCTION" be used? Something like

CREATE FUNCTION f(string)
RETURNS bool
AS '(f1 ~* '$1' OR f2 ~* '$1' ...)';

and then type

SELECT * FROM table WHERE f('foo');

I tried to define such a function, but encountered two problems:

o It didn't "accept" the function's definition

o Syntax errors (apostrophes need escaping ... I tried mixing quotes
and apostrophes, also using '\' chars ... nothing seemed to work)

I know that I can define VIEWs (and FUNCTIONs) that contain a specific
SELECT statement, but I'd prefer to have definitions of just the
repeating expressions.

Another thing I'd like to "abbreviate" is the second phrase in
SELECTs. E.g,

SELECT x FROM table;

instead of

SELECT x1,x2,x3 FROM table;

where 'x' is somehow equivalent to 'x1,x2,x3'.

I read the online docs and searched a few SQL books, but can't seem to
find the correct approach. Ideas?

Thanks for any help,

-Prof Kenneth H Jacker khj(at)cs(dot)appstate(dot)edu
-Computer Science Dept www.cs.appstate.edu/~khj
-Appalachian State Univ
-Boone, NC 28608 USA

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 1999-07-24 16:29:06 Re: [SQL] inserts/updates problem under stressing !
Previous Message D'Arcy J.M. Cain 1999-07-24 11:49:38 Re: [SQL] database design SQL prob.