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
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. |