ошибка при выполнении процедур в пакете package oracle sql

Добрый день пытаюсь разобраться c пакетами в oracle sql, создаю пакет:

create or replace package nsv_pkg_testrand is
    procedure clear;
    procedure fill_table(coll int);
    FUNCTION stick_by_data(string_rand varchar2, number_rand number) RETURN varchar2;
    function stick_by_id(id int) return varchar2;
end nsv_pkg_testrand;

    create or replace package body nsv_pkg_testrand is 
    procedure clear is
        begin
            delete from nsv_testrand;
        end clear;
        
    procedure fill_table(coll int) is
        begin
            insert into su.nsv_testrand(string_rand, number_rand)
            select  
                dbms_random.string('A', 5) str, 
                round(dbms_random.value(11111,99999)) numbers 
            from dual connect by level <= coll;
        end fill_table;
        
    function stick_by_data (string_rand varchar2, number_rand number) RETURN varchar2 
    is
        res varchar2(242);
    begin
       res := '123';
       return res;
    end;
    
    function stick_by_id(id int) return varchar2
    is
        res varchar2(242);
    begin
        res:= '123';
        return res;
    end;
end nsv_pkg_testrand;

Но при попытке использовать процедуру или функцию:

nsv_pkg_testrand.clear;

выходит ошибка:

Error starting at line : 26 in command - nsv_pkg_testrand.clear Error report - Unknown Command

Вот вопрос где ошибка то? Если создать просто процедуры то работает нормально

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Alex R.

В Oracle объекты PL/SQL (процедуры и функции) не могут вызываться вне sql команд insert, update, delete

Их вызов должен быть заключен в анонимный блок

begin 
  nsv_pkg_testrand.clear; 
end;
→ Ссылка