Я создал функцию для вставки / обновления записи в таблице. Данные передаются в функцию в качестве аргументов. Столкнувшись с проблемой обработки полей типа Integer / float / double. Например, я объявил поле Empno как Int (согласно структуре целевой таблицы). Поэтому я подумал, что когда приходит нулевое значение, я конвертирую в '0', используя функцию приведения. Но он даже не принимает значения NULL, поскольку он объявлен как Int. я должен изменить объявление на varchar и затем преобразовать? Что я должен делать ? Пожалуйста, помогите
Ошибка, которую я получаю, оператор не существует: текст целое число 42883
Пример кода:
create function test (text[])
declare
companycode varchar(4);
empno varchar(10);
begin
L_1 := $1[1];
L_2 :=cast(NULLIF($1[2],0) as int);
update and insert statement ...
end;