PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Postgres फ़ंक्शन में स्तंभ नाम के रूप में पैरामीटर का उपयोग करना

आप पहचानकर्ताओं (=कॉलम नाम) के रूप में पैरामीटर का उपयोग नहीं कर सकते हैं, इसके लिए आपको गतिशील एसक्यूएल की आवश्यकता है। और इसके लिए PL/pgSQL की आवश्यकता होती है:

CREATE OR REPLACE FUNCTION day_entries(p_id int, p_column text) 
  RETURNS BIGINT[] 
AS
$$
declare 
  l_result bigint[];
begin
  execute format('SELECT %I FROM days WHERE id = $1', p_column) 
     using p_id
     into l_result;
  return l_result;
end;     
$$
LANGUAGE plpgsql;

format() डायनेमिक SQL बनाते समय पहचानकर्ताओं के साथ ठीक से व्यवहार करता है। $1 एक पैरामीटर प्लेसहोल्डर है और उसके लिए मान using p_id . के साथ पास किया जाता है execute . का खंड बयान।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL डेटाबेस से छवि प्रदर्शित करना, bytea

  2. पासवर्ड के बिना psql कमांड के साथ बैच फ़ाइल चलाएँ

  3. क्वेरी का उपयोग करके माता-पिता को पुनरावर्ती रूप से खोजें

  4. मैं कॉलम को दो टेबल से एक आउटपुट में कैसे मर्ज कर सकता हूं?

  5. PostgreSQL में Arrays की तुलना कैसे करें