我正在尝试在Postgres数据库中创建一个函数或存储过程。我并不真正了解Postgres中的语法。我正在尝试下面的方法,但我知道它并不完整。
Create or replace Procedure sp_testSproc(
/* Input Parameters */
param1 varchar,
param2 varchar,
param3 varchar,
param4 timestamp,
param5 timestamp,
param6 int,
param7 varchar)
我认为创建它的方法是声明一个变量来表示要执行的SQL选择语句,例如
sqlQueryToExecute = 'select * from myTable where 1=1'
if (param1 Is Not NUll)
sqlQueryToExecute += 'And param1 = param1Variable'
if (param2 Is Not NUll)
sqlQueryToExecute += 'And param2 = param2Variable'
return result
有人能用一个示例存储过程或函数来帮助使这个工作吗?
1条答案
按热度按时间6l7fqoea1#
参考文献:
PL/pgSQL functions: How to return a normal table with multiple columns using an execute statementFunctions with variable number of input parameters显示器
Test for null in function with varying parameters
https://www.postgresql.org/docs/current/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN
https://www.postgresql.org/docs/current/xfunc-overload.html
基于上面的参考链接,你可以编写一个函数,它可以接受可变数量的输入参数并返回一个表。
设置。
功能:
称之为: