У меня есть следующая хранимая процедура:
Create FUNCTION createidentity7(new_browser_id bigint, sn smallint, sn_id bigint,
last_updated timestamp with time zone, cred_mask_pos integer)
RETURNS integer AS
$BODY$
DECLARE
mask integer = 0;
BEGIN
if (sn = 0 AND sn_id = 0) then
Select COALESCE(max(i.cred_mask_pos)+1,0) into mask FROM
identity i WHERE i.browser_id = @browser_id;
end if;
Insert into identity(browser_id, sn_id, last_updated, cred_mask_pos, sn)
Values(@new_browser_id, @sn_id, @last_updated::timestamp with time zone,
mask, @sn);
Return mask;
END;
$BODY$
Language 'plpgsql'
Когда я ее вызываю:
select createidentity7
(0::bigint, 0::smallint, 0::bigint ,'2004-10-19 10:23:54+02', 0);
Я получаю эту ошибку:
ERROR: operator does not exist: @ timestamp with time zone
Состояние SQL: 42883 Подсказка: ни один оператор не соответствует указанному имени и типу аргумента.Возможно, вам придется добавить явные приведения типов.Контекст: функция PL / pgSQL "createidentity7" строка 7 в операторе SQL
Это звонит кому-нибудь?Я нигде не могу найти ничего похожего на эту проблему после долгих поисков.Помощь будет высоко ценится.