plpgsql

2 отговора 217 прегледа
#1

plpgsql

Kolegi niakoi da znae kak se manipulirat funkcii s parametri composite type.

Iskam funkcii koito imat za parametri composite type i vryshtat composite type.

Wyprosa e kak se izvikvat takiwa funkcii prez select i kak se poluchava resultata prez ODBC da rechem ili native API-to.

W dokumentaciata pishe za type_in i type_out funciite no ne se sehsta da gi vika.

Shte sym mnogo blagodaren za siakakvi idei. (Ako moga da izvikam funkciata prez psql or PgAdmina znachi shte moga i prez ODBC)

Отговор
в отговор на rival #2

Re: plpgsql

на бързо се сещам ето така (май имаше и един друг вариант, но след почивните дни .... ;-))))))

test=# create type test_type AS (id integer, name character varying);
CREATE TYPE
test=# create function test_type_function (param test_type) returns test_type AS $$ begin return param;end;$$ LANGUAGE plpgsql;
CREATE FUNCTION
test=# CREATE OR REPLACE FUNCTION test_input (integer, character varying) RETURNS test_type AS $$ SELECT $1 AS id, $2 AS name;$$ LANGUAGE sql;
CREATE FUNCTION
test=# select test_type_function((SELECT test_input(1, 'test')));
test_type_function
--------------------
(1,test)
(1 row)

Отговор
в отговор на rival #3

Re: plpgsql

няма отзиви :-) аз единствено се сетих, че не съм споменал един лесен вариант за съставяне на composite тип

със същите функциики от преди

test=# select test_type_function((1, 'test')::test_type);
test_type_function
--------------------
(1,test)
(1 row)

ако не е тва, което те интересува конкретизирай си въпроса

Отговор