Expr Abbreviations/Functions? - Mailing list pgsql-sql

From Kenneth Jacker
Subject Expr Abbreviations/Functions?
Date
Msg-id e3dye2i9c.fsf@beagle.cs.appstate.edu
Whole thread Raw
Responses Re: [SQL] Expr Abbreviations/Functions?  ("tjk@tksoft.com" <tjk@tksoft.com>)
List 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
seemedto 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@cs.appstate.edu
-Computer Science Dept       www.cs.appstate.edu/~khj
-Appalachian State Univ
-Boone, NC  28608  USA        




pgsql-sql by date:

Previous
From: "D'Arcy" "J.M." Cain
Date:
Subject: Re: [SQL] database design SQL prob.
Next
From: Tom Lane
Date:
Subject: Re: [SQL] inserts/updates problem under stressing !