| 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: | Whole Thread | Raw Message | 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. |