Вы не можете использовать NVL (или NVL2 или COALESCE, которые похожи) здесь, потому что нет данных, над которыми эти функции могли бы работать.Следующее будет делать то, что вы просили:
DECLARE
test VARCHAR2(255):=0;
BEGIN
BEGIN
SELECT id INTO test FROM sku WHERE id = 1515;
EXCEPTION
WHEN NO_DATA_FOUND THEN
test := '0';
END;
dbms_output.put_line('Result:' || test);
END;
, но только то, что что-то возможно, не означает, что это хорошая идея.База данных пытается предупредить о чем-то важном (в частности, об отсутствии данных, соответствующих вашим критериям), и этот код игнорирует это предупреждение.