Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Функция с данными именем и типами аргументов не найдена. Помогите найти ошибку  [new]
Kometulus
Member

Откуда:
Сообщений: 3
CREATE OR REPLACE FUNCTION public.add_airticket(
	_fam character varying,
	_name character varying,
	_otch character varying,
	_numpasport bigint,
	_mesto character varying,
	class_id integer,
	status_id integer)
    RETURNS boolean
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE PARALLEL UNSAFE
AS $BODY$
declare
return_val boolean := true;ticket_count integer; BEGIN 
if (_fam IS null) THEN 
	raise EXCEPTION 'Фамилия пассажира не может быть пустым полем'; 
	return_val := false; END if; 
if ( _name IS null) THEN 
	raise EXCEPTION 'Имя пассажира не может быть пустым полем'; 
	return_val := false; END if; 
if ( _otch IS null) THEN 
	raise EXCEPTION 'Отчество пассажира не может быть пустым полем'; 
	return_val := false; END if; 
if ( _numpasport IS null) THEN 
	raise EXCEPTION 'Номер пасспорта пассажира не может быть пустым полем'; 
	return_val := false; END if; 
if ( _mesto IS null) THEN 
	raise EXCEPTION 'Место пассажира не может быть пустым полем'; 
	return_val := false; END if; 
if ( _class_id IS null) THEN 
	raise EXCEPTION 'Класс пассажира не может быть пустым полем'; 
	return_val := false; END if; 
if ( _status_id IS null) THEN 
	raise EXCEPTION 'Статус билета не может быть пустым полем'; 
	return_val := false; END if; 
BEGIN 
	SELECT count(*) 
	INTO ticket_count 
	FROM Авиабилеты
	WHERE  "Фамилия пассажира" = _fam; end; 
	if (ticket_count > 0) THEN 
	raise EXCEPTION 'Авиабилет с таким название уже существует'; 
	return_val := false; END if; 
	if (return_val = TRUE) 
	THEN 
	INSERT INTO Авиабилеты ( "Фамилия пассажира", "Имя пассажира","Отчество пассажира","№ пасспорта пассажира",
							"Номер места в самолете","Класс id","Статус билета id") 
							VALUES (_fam, _name, _otch, _numpasport, _mesto,class_id ,status_id ) ; 
	END if; 
	RETURN return_val; 
END;
$BODY$;

ALTER FUNCTION public.add_airticket(character varying, character varying, character varying, bigint, character varying, integer, integer)
    OWNER TO postgres;



По запросу:
select * from add_aviaticket('trew','fgds','fdghjkl',4324185628,'32E',3,1)

Выводит ошибку:
ERROR: ОШИБКА: функция add_aviaticket(unknown, unknown, unknown, bigint, unknown, integer, integer) не существует
LINE 1: select * from add_aviaticket('trew','fgds','fdghjkl',4324185...
^
HINT: Функция с данными именем и типами аргументов не найдена. Возможно, вам следует добавить явные приведения типов.
7 июн 21, 18:48    [22332496]     Ответить | Цитировать Сообщить модератору
 Re: Функция с данными именем и типами аргументов не найдена. Помогите найти ошибку  [new]
Melkij
Member

Откуда: Санкт-Петербург
Сообщений: 1312
Kometulus,

а можете показать create function именно той функции, которую вы пытаетесь вызвать, а не какую-то с другим названием?
7 июн 21, 18:57    [22332497]     Ответить | Цитировать Сообщить модератору
 Re: Функция с данными именем и типами аргументов не найдена. Помогите найти ошибку  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 4785
Kometulus,

У вас что там эпидемия зачетов перед сессией наступила?


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
7 июн 21, 19:09    [22332499]     Ответить | Цитировать Сообщить модератору
 Re: Функция с данными именем и типами аргументов не найдена. Помогите найти ошибку  [new]
Kometulus
Member

Откуда:
Сообщений: 3
Melkij,

это просто опечатка, там все так же
7 июн 21, 19:26    [22332510]     Ответить | Цитировать Сообщить модератору
 Re: Функция с данными именем и типами аргументов не найдена. Помогите найти ошибку  [new]
Guzya
Member

Откуда:
Сообщений: 731
Имя схемы добавьте при вызове.
8 июн 21, 06:18    [22332635]     Ответить | Цитировать Сообщить модератору
 Re: Функция с данными именем и типами аргументов не найдена. Помогите найти ошибку  [new]
peter64
Member

Откуда:
Сообщений: 176
Kometulus,
CREATE OR REPLACE FUNCTION public.add_airticket
ERROR: ОШИБКА: функция add_aviaticket
8 июн 21, 10:11    [22332689]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить