Помогите, пожалуйста, почему у меня функция ошибки не существует?
[2018-10-31 12:31:05] [42883] ERROR: function companytester(bigint, unknown, unknown, unknown, unknown) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
CREATE OR REPLACE FUNCTION companyTester(founder Founder) RETURNS BOOLEAN AS $$
BEGIN
RAISE NOTICE 'Founder id: %',founder.founder_id;
RAISE NOTICE 'Founder FirstName: %',founder.firstname;
RAISE NOTICE 'Founder LastName: %',founder.lastname;
RAISE NOTICE 'Founder email: %',founder.email;
RAISE NOTICE 'Founder password %',founder.f_password;
END;
$$ LANGUAGE plpgsql;
SELECT companyTester(76565445354,'Maks','Burkov','[email protected]','+_@Maks88;
CREATE TYPE Founder AS (
founder_id BIGINT,
firstname VARCHAR(150),
lastname VARCHAR(150),
email VARCHAR(50),
f_password VARCHAR(50)
);
Вы передаете функции 5 параметров, но заявлено, что она принимает только один параметр (типа founder
).
Вам нужен конструктор строк для создания надлежащего экземпляра founder
и, таким образом, передачи только одного аргумента:
SELECT companyTester(
(76565445354,'Maks','Burkov','[email protected]','+_@Maks88')::founder
);
Выражение (76565445354,'Maks','Burkov','[email protected]','+_@Maks88')::founder
- это одно значение
В качестве альтернативы вы можете использовать:
SELECT companyTester(row(76565445354,'Maks','Burkov','[email protected]','+_@Maks88'));