如何按名称访问红移SQL函数中的输入变量

如何按名称访问红移SQL函数中的输入变量,sql,plsql,amazon-redshift,user-defined-functions,Sql,Plsql,Amazon Redshift,User Defined Functions,我正在尝试创建一个红移SQL函数,并尝试通过其名称访问输入变量 create or replace function sql_udf_test (inp1 int, inp2 int) returns int stable as $$ select inp1+inp2 $$ language sql; 错误 SQL错误[500310][42703]:无效操作:列 “inp1”不存在 然而,当我试图通过索引来访问输入变量时,它工作得很好 create or replace function

我正在尝试创建一个红移SQL函数,并尝试通过其名称访问输入变量

create or replace 
function sql_udf_test (inp1 int, inp2 int)
 returns int
stable
as $$
select inp1+inp2
$$ language sql;
错误

SQL错误[500310][42703]:无效操作:列 “inp1”不存在

然而,当我试图通过索引来访问输入变量时,它工作得很好

create or replace 
function sql_udf_test (inp1 int, inp2 int)
 returns int
stable
as $$
select $1+$2
$$ language sql;

select sql_udf_test(1, 2);
输出:

三,


任何建议,可能是我犯了一些初学者的错误。

中清楚地提到,在SQL UDF中,必须使用$1、$2等来引用函数输入参数,并且可以在Python UDF中使用这些参数的名称

在Python UDF中,使用参数名称引用参数。在一个 SQL UDF,根据 参数列表中参数的顺序


在SQLUDF中,您必须使用$1、$2等来引用函数输入参数,并且可以在Python UDF中使用这些参数的名称

在Python UDF中,使用参数名称引用参数。在一个 SQL UDF,根据 参数列表中参数的顺序


它还指出,不应该有任何参数名称:对于Python UDF,输入参数名称和数据类型的列表。对于SQL UDF,数据类型列表,不带参数名。Yeap@astentx。太好了@astentx谢谢,我知道了,实际上函数是用sql中的输入变量名编译的,这就是为什么我对可能有访问方法感到困惑的原因。@Popeye当然,我错过了您在文档中提到的要点。感谢它声明,不应该有任何参数名称:对于Python UDF,输入参数名称和数据类型的列表。对于SQL UDF,数据类型列表,不带参数名。Yeap@astentx。太好了@astentx谢谢,我知道了,实际上函数是用sql中的输入变量名编译的,这就是为什么我对可能有访问方法感到困惑的原因。@Popeye当然,我错过了您在文档中提到的要点。谢谢