Expr Abbreviations/Functions?
От | Kenneth Jacker |
---|---|
Тема | Expr Abbreviations/Functions? |
Дата | |
Msg-id | e3dye2i9c.fsf@beagle.cs.appstate.edu обсуждение исходный текст |
Ответы |
Re: [SQL] Expr Abbreviations/Functions?
|
Список | 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 по дате отправления: