Я хочу проверить ввод аргумента, чтобы, например, проверить, что _product_ids :: BIGINT [] не равно нулю или не содержит нуля (или, необязательно, не содержит только нуля) или не пусто.
Вот что у меня есть:
IF (
_product_ids IS NULL -- Is null
OR -1 = ANY(_product_ids) IS NULL -- Contains null
OR COALESCE(ARRAY_LENGTH(_product_ids, 1) < 1, TRUE) -- Is empty
) THEN
RAISE EXCEPTION 'INPUT IS INVALID';
END IF;
Я бы хотел настроить 'Contains null', чтобы он возвращал true только в том случае, если есть только нули.Кроме того, я хотел бы знать, есть ли способ проверить наличие пустого и пустого массива одновременно.
Используется PostgresSQL 9.6.