PSQL脚本,根据变量执行不同的选择

PSQL脚本,根据变量执行不同的选择,sql,postgresql,Sql,Postgresql,您好,我正在创建psql报告,目前我有两个独立的报告,它们做相同的事情,而不是1有一个额外的列 这些脚本在数据库中安装了一个视图,一些php前端使用该视图来很好地显示报告 我想将两者结合起来,并想知道是否有可能在视图中执行以下操作,因此每次单击报表时都会执行该操作: IF(access.accessname = 'UNBLINDED') SELECT s.site, s.type, s.name etc ELSE IF(access.accessname = 'BLINDED')

您好,我正在创建psql报告,目前我有两个独立的报告,它们做相同的事情,而不是1有一个额外的列

这些脚本在数据库中安装了一个视图,一些php前端使用该视图来很好地显示报告

我想将两者结合起来,并想知道是否有可能在视图中执行以下操作,因此每次单击报表时都会执行该操作:

IF(access.accessname = 'UNBLINDED')
    SELECT s.site, s.type, s.name etc
ELSE IF(access.accessname = 'BLINDED')
    SELECT s.site, s.name etc
或者,如果没有,其他人能想出一个更好的方法来完成我目前使用的两个不同脚本吗


感谢您的帮助

处理参数化数据集的一种常见方法是创建用户定义的函数。这将数据逻辑移动到数据层,并允许应用程序简单地传入一个参数(即:
SELECT*FROM new\u user\u函数(access.accessname)

谷歌可以帮助您找到详细的示例和教程,这可能有助于您开始:

祝你好运!
~Rose

谢谢,我知道我应该做一个功能。我只是觉得很难理解这些教程。我只想执行一些简单的选择,但一个选择应该包含一个额外的列,具体取决于access.accessname。对不起,我是个笨蛋:(你在教程中哪里迷路了?也许我可以帮你澄清一下。我不确定我是否应该返回任何东西,或者我只是在函数中进行选择,以及如何实际调用我的函数。我是将函数存储在db中的其他位置,然后在我的视图中调用函数。还是函数和ca我将进入视图?感谢您的帮助该函数在数据库中定义,您将用对函数的调用替换对视图的调用。好的,我取得了一些进展,但我遇到了一个难题,因为我想返回一个可变列表。我收到了此错误返回“record”的函数需要一个列定义列表。在做了一些研究之后,似乎您必须定义列,这对我没有什么帮助,有什么想法吗?