簡體   English   中英

如何在PostgreSQL中傳遞嵌套函數作為函數輸入參數

[英]How to pass unnest function as function input paramter in PostgreSQL

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$;

我們如何通過函數參數傳遞emp_idempnamesal值?

如果您希望能夠指定要從表中選擇的列,則必須使用動態SQL

確保使用像中的format功能

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

這樣可以使您免受SQL注入的傷害。

如果要傳遞在FROM子句中使用的emp_idmpnamesal的值,則可以使用靜態SQL。 只需將array[1,2]替換為類型為integer[]的參數名稱即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM