Код: Выделить всё
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$;
Код: Выделить всё
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();
Npgsql.PostgresException: '42883: функция public.t4() не существует.
Что я делаю не так?>
Подробнее здесь: https://stackoverflow.com/questions/798 ... n-from-net