Member 13588594 Ответов: 1

Что я могу сделать, чтобы исправить эту процедуру country_demographics?


CREATE OR REPLACE PROCEDURE country_demographics
      (p_country_name  IN countries.country_name%TYPE) IS
    
       v_country_demo_rec    VARCHAR2(2000);
     
    BEGIN
      SELECT country_name, location, capitol, population, airports, climate
      INTO v_country_demo_rec
      FROM countries;
     DBMS_OUTPUT.PUT_LINE('Country Name:' || v_country_demo_rec.country_name || 'Location:' || v_country_demo_rec.location || 'Capitol:' || v_country_demo_rec.capitol || 'Population:' || v_country_demo_rec.population || 'Airports:' || v_country_demo_rec.airports || 'Climate:' || v_country_demo_rec.climate );
    
     IF SQL%NOTFOUND THEN
        RAISE_APPLICATION_ERROR(-20201, 'This country does not exist.');
     END IF;
    END;

Проблема заключается в том, чтобы попросить меня создать процедуру под названием country_demograhics. Передайте имя страны в качестве параметра IN. Отображение CONTRY_NAME, местоположения, Капитолия, населения, аэропортов, климата. Использовать пользовательские записи структуры в пункт вашей инструкции Select. Поднимите исключение, если страна не существует.
Теперь вот копия моего кода, которая постоянно возвращается с ошибкой:

Ошибка в строке 9: PL/SQL: ORA-00947: недостаточно значений


7. В v_country_demo_rec
8. Из стран;
9. DBMS_OUTPUT.Название страны PUT_LINE (':' | | v_country_demo_rec.расположение country_name||':' | | v_country_demo_rec.расположение || 'Капитолий:' || v_country_demo_rec.население Капитолия||':' | | v_country_demo_rec.аэропорты населения||':' | | v_country_demo_rec.климат аэропортов||':' | | v_country_demo_rec.климат );
10. ЕСЛИ SQL%НЕ НАЙДЕН, ТО
11. RAISE_APPLICATION_ERROR(-20201, "эта страна не существует".);

Что я уже пробовал:

Я пробовал этот код с помощью TYPE. Это не сработало для меня.

1 Ответов

Рейтинг:
1

Patrice T

Просто предположение:
- 'DBMS_OUTPUT.PUT_LINE' терпит неудачу, если страна не существует. вы должны переместить его так, чтобы он выполнялся только в том случае, если страна существует.