如何在PostgreSQL中将unnest函数作为函数输入参数传递

如何在PostgreSQL中将unnest函数作为函数输入参数传递,sql,arrays,postgresql,Sql,Arrays,Postgresql,如何通过函数参数传递emp\u id,empname,sal值?如果您希望能够指定要从表中选择的列,则必须使用 确保使用中的函数 CREATE OR REPLACE FUNCTION get_emp() RETURNS void LANGUAGE sql AS $function$ select e.emp_id, e.empname, e.sal from unnest(array[1,2], array['A','B'],array[1000,5000]) as e(emp_

如何通过函数参数传递
emp\u id
empname
sal
值?

如果您希望能够指定要从表中选择的列,则必须使用

确保使用中的函数

CREATE OR REPLACE FUNCTION get_emp()
  RETURNS void
  LANGUAGE sql
AS $function$
  select e.emp_id, e.empname, e.sal
  from unnest(array[1,2], array['A','B'],array[1000,5000]) as e(emp_id, mpname, sal);
$function$;
这将使您免于SQL注入

如果要传递在
FROM
子句中使用的
emp\u id
mpname
sal
的值,可以使用静态SQL。只需将
array[1,2]
替换为类型为
integer[]
的参数名即可

EXECUTE format('SELECT %I, %I FROM ...', p_col1, p_col2) INTO v_result;