Нельзя использовать переменные для указания имен объектов (таблиц, столбцов, разделов и т. Д.) В статическом SQL.
Вам необходимо использовать динамический SQL, например, с именем раздела без кавычек:
DECLARE
pt all_tab_partitions.partition_name%TYPE;
countr NUMBER;
BEGIN
pt:='p61';
DBMS_OUTPUT.PUT_LINE(pt);
EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM T1 PARTITION (' || pt || ')'
INTO countr ;
END;
/
Если вы указали в кавычках идентификаторы для имен разделов, вам нужно включить кавычки в оператор и убедиться, что регистр имени раздела точно совпадает:
DECLARE
pt all_tab_partitions.partition_name%TYPE;
countr NUMBER;
BEGIN
pt:='61';
DBMS_OUTPUT.PUT_LINE(pt);
EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM T1 PARTITION ("' || pt || '")'
INTO countr ;
END;
/