sql >> Databasteknik >  >> RDS >> PostgreSQL

Jag vill hämta data från olika tabellnamn med postgresql-funktionen

Du behöver dynamisk SQL för det:

CREATE OR REPLACE FUNCTION getDataByTable() 
  RETURNS text AS $$ 
DECLARE 
    tablename text;
    l_result text; 
BEGIN 
   tablename := gettablename('2');
   execute format('select shg_code from %I', tablename)  
     into l_result;
   RETURN l_result;  
END;
$$  LANGUAGE plpgsql; 

%I platshållare för format()-funktionen hanterar korrekt citering av identifierare om det behövs.




  1. Hur använder man en SQL for loop för att infoga rader i databasen?

  2. ORA-1114 Kör Datapatch

  3. Ignorera datumintervallsparametern i where-satsen när parametern inte anges

  4. Hur får man en ålder från ett D.O.B-fält i MySQL?