Что я могу сделать, чтобы исправить эту процедуру 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. Это не сработало для меня.