2012-02-21 33 views
0

嗨,我正在创建psql报告,并在一分钟我有两个单独的报告做同样的事情比1以外有一个额外的列。PSQL脚本,根据变量执行不同的选择

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

我想将两者结合起来,并想知道如果它是可以做到的观点里面以下,所以它被执行每次点击报告时间:

IF(access.accessname = 'UNBLINDED') 
    SELECT s.site, s.type, s.name etc 
ELSE IF(access.accessname = 'BLINDED') 
    SELECT s.site, s.name etc 

或者,如果不能够任何人想更好的方式来做我目前正在做的两个不同的脚本?

感谢您的帮助处理参数数据集

回答

2

一种常见的方法是创建用户定义的函数。该移动数据的逻辑数据层以及允许应用程序只需在一个参数传递(即:SELECT * FROM new_user_function(access.accessname)

谷歌可以帮您找到详细的例子和教程,这样可以帮助你开始: http://wischner.blogspot.com/2009/03/creating-stored-procedure-function.html

祝你好运! 〜Rose

+0

谢谢,我知道我应该做一个功能。我只是很难理解这些教程。我想要做的只是执行一些简单的选择,但一个选择应该包含一个额外的列,具体取决于access.accessname。对不起,我是一个noob :( – 2012-02-21 17:18:18

+0

你在哪里迷失在教程?也许我可以帮助澄清。 – Rose 2012-02-21 17:33:42

+0

嗯,我不知道我是否应该返回任何东西,或者我只是从字面上做功能选择和如何实际调用我的函数我是否将函数存储在数据库中的其他位置,并在我的视图中调用该函数或者函数和调用是否进入视图?感谢您的帮助 – 2012-02-21 17:36:26