CREATE OR REPLACE FUNCTION public.t4(in iid int, OUT n1 text, OUT n2 text)
LANGUAGE plpgsql
AS $function$
BEGIN
SELECT DISTINCT n1=l.name, n2=l.comment from public.languages l where l.id=iid;
END;
$function$;
Я попробовал этот код: [code]CREATE OR REPLACE FUNCTION public.t4(in iid int, OUT n1 text, OUT n2 text) LANGUAGE plpgsql AS $function$ BEGIN SELECT DISTINCT n1=l.name, n2=l.comment from public.languages l where l.id=iid; END; $function$; [/code] [code] NpgsqlConnection connection = new NpgsqlConnection(ConString); connection.Open(); NpgsqlCommand cmd = new NpgsqlCommand("SELECT * from public.t4()", connection); cmd.Parameters.Add(new NpgsqlParameter("iid", DbType.Int32) { Direction = ParameterDirection.Input }); cmd.Parameters[0].Value = 18; cmd.Parameters.Add(new NpgsqlParameter("n1", DbType.String) { Direction = ParameterDirection.Output }); cmd.Parameters.Add(new NpgsqlParameter("n2", DbType.String) { Direction = ParameterDirection.Output }); cmd.ExecuteNonQuery(); t1.Text = cmd.Parameters[1].Value.ToString(); t2.Text = cmd.Parameters[2].Value.ToString(); [/code] И я получил ошибку:
Npgsql.PostgresException: '42883: функция public.t4() не существует.