有没有可能以某种方式在psql中创建别名(比如Unix alias命令)?
我的意思是,不是SQL函数,而是本地别名,以简化手动查询?
发布于 2013-05-13 17:04:31
为什么不使用视图呢?也许views会对你的情况有所帮助。
发布于 2013-04-26 18:16:43
我不知道有什么可能。只有基于psql变量的psql才有解决方法,但是有很多限制-使用参数进行这种查询是困难的。
postgres=# \set whoami 'SELECT CURRENT_USER;'
postgres=# :whoami
current_user
--------------
pavel
(1 row)发布于 2016-03-24 23:08:57
Pavel的答案几乎是正确的,除非你可以以另一种方式使用参数。
之后
\set s 'select * from '
\set l ' limit 10;'以下命令
:s agent :l将等于
select * from agent limit 10;根据http://www.postgresql.org/docs/9.0/static/app-psql.html的说法
如果未加引号的参数以冒号(:)开头,则将其视为psql变量,并将变量的值用作参数。如果变量名括在单引号中(例如:'var'),它将作为SQL文本进行转义,并将结果用作参数。如果变量名括在双引号中,则将其转义为SQL标识符,并将结果用作参数。
您还可以使用反引号来运行shell命令
用反引号(`)括起来的
参数被当作传递给shell的命令行。该命令的输出(删除了所有尾随的换行符)将作为参数值。上面的转义序列也适用于反引号。
https://stackoverflow.com/questions/16226514
复制相似问题