передача имени таблицы в качестве параметра в postgresql - PullRequest
0 голосов
/ 11 октября 2019

У меня ниже таблицы и записи, я должен передать имена таблиц ("LandXML_QCC_ParcelMarks", "LandXML_QCC_ParcelInformation") в качестве входных параметров (tblparcelmarks, tblparcelinfo) для функции ниже. Как я могу использовать этот параметр имени таблицы в моем запросе в функции ниже. Я пытался, но это не работает.

create table "LandXML_QCC_ParcelMarks"("DPID" TEXT,"From" TEXT,"Name" Text);

insert into "LandXML_QCC_ParcelMarks" values('1','ram','kumar');

create table "LandXML_QCC_ParcelInformation"("DPID" TEXT,"Pntref" Text);

insert into "LandXML_QCC_ParcelInformation" values('1','ram');

CREATE OR REPLACE FUNCTION public.getparcelnonparcelfinal(planid text, tblparcelmarks text, tblparcelinfo text)
RETURNS text AS
$BODY$
declare
    tblmark RECORD;
    parCount integer;
    parNonCount integer;
    totalParNonCount text;
    tblCou integer;
begin
    parCount = 0;
    parNonCount = 0;
    FOR tblmark IN (SELECT "From", "Name" FROM tblParcelMarks where "DPID" = planid) LOOP
        SELECT COUNT(*) into tblCou FROM tblParcelInfo where "DPID" = PlanID and ("Pntref" like '%' || tblMark."From" || ',' || CAST(tblMark."Name" As text) || '%' or "Pntref" like '%' || CAST(tblMark."Name" As text) || ',' || tblMark."From" || '%');
        IF tblCou > 0 THEN
            parCount = parCount + 1;
        ELSE
            parNonCount = parNonCount + 1;
        END IF;
    END LOOP;
    totalParNonCount = CAST(parCount As text) || ',' || CAST(parNonCount As text);
    return totalParNonCount;
end;
$BODY$
LANGUAGE plpgsql;
...