Re: Return Qery'i Tabloya Insert etmek

Lists: pgsql-tr-genel
From: İlyas Derse <ilyasderse(at)gmail(dot)com>
To: pgsql-tr-genel(at)postgresql(dot)org
Subject: Return Qery'i Tabloya Insert etmek
Date: 2019-12-06 08:57:46
Message-ID: CALcdmyR3o9uYp21LpbfN5CKcv7U30vbyJCoK8Lq49ZJNy6en8g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-tr-genel

Bir string query oluşturduktan sonra , execute edip dönen queryi tabloya
insert etmek istiyorum.
Execute <command> into <tablename> formatını denedim ama çalışmadı.Farklı
bir yol bilen var mı ?

CREATE OR REPLACE FUNCTION public.testdyn
(
x integer
)
RETURNS TABLE
(
id bigint,
text character varying(4000)
)
AS $$
DECLARE mysql TEXT;
BEGIN
create temp table tmp1
(
id1 bigint,
text character varying(4000)
);
mysql = 'select id, text from TEST';

RETURN QUERY
EXECUTE mysql INTO tmp1 ;
END;
$$ LANGUAGE plpgsql;


From: Murat Tuncer <mtuncer(at)citusdata(dot)com>
To: İlyas Derse <ilyasderse(at)gmail(dot)com>
Cc: pgsql-tr-genel(at)postgresql(dot)org
Subject: Re: Return Qery'i Tabloya Insert etmek
Date: 2019-12-06 11:57:00
Message-ID: CAG9wYgZwoGEF6PR=Gi0XT8vM56LZkKBiZeRVeTdEFD+_zf50_g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-tr-genel

mysql = 'select id, text from TEST';

satirini

'insert into tmp1 select id, text from TEST returning *' olarak degistirip
daha sonra

RETURN QUERY EXECUTE mysql;
olarak calistirirsan sorunun cozulecektir.

On Fri, Dec 6, 2019 at 12:13 PM İlyas Derse <ilyasderse(at)gmail(dot)com> wrote:

> Bir string query oluşturduktan sonra , execute edip dönen queryi tabloya
> insert etmek istiyorum.
> Execute <command> into <tablename> formatını denedim ama çalışmadı.Farklı
> bir yol bilen var mı ?
>
> CREATE OR REPLACE FUNCTION public.testdyn
> (
> x integer
> )
> RETURNS TABLE
> (
> id bigint,
> text character varying(4000)
> )
> AS $$
> DECLARE mysql TEXT;
> BEGIN
> create temp table tmp1
> (
> id1 bigint,
> text character varying(4000)
> );
> mysql = 'select id, text from TEST';
>
> RETURN QUERY
> EXECUTE mysql INTO tmp1 ;
> END;
> $$ LANGUAGE plpgsql;
>

--

*Murat Tuncer*Software Engineer | Citus Data
mtuncer(at)citusdata(dot)com