Задать вопрос

Что не так с процедурой oracle?

После вызова процедуры хочу сделать insert. Но программа выдает ошибку PLS-00103 - "Встретился символ Insert"
create or replace procedure on_drop(table_name char(100))
    BEGIN
         EXECUTE IMMEDIATE 'DROP TABLE ' + table_name + ' CASCADE CONSTRAINT;';
         
         execute immediate 'create table address(
         address_id number(9) GENERATED ALWAYS AS IDENTITY,
         address_country char(200) NOT NULL,
         address_region char(100) NOT NULL,
         address_district char(100) NOT NULL,
         address_settlement_type char(50) NOT NULL,
         address_settlement_name char(100) NOT NULL,
         PRIMARY KEY(address_id)
  );';
    EXCEPTION
         WHEN OTHERS THEN
                IF SQLCODE != -942 THEN
                     RAISE;
                END IF;
    END;  
END on_drop;

Выозв процедуры

begin
  on_drop('address');
end;
  • Вопрос задан
  • 1029 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    SQL для начинающих: с нуля до сертификата Oracle
    2 недели
    Далее
  • OTUS
    SQL для разработчиков и аналитиков
    3 месяца
    Далее
  • Учебный центр IBS
    DB-013 SQL: запросы с оконными аналитическими функциями
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Raushka
Скорее вместо + нужно использовать ||, а также нужно обратить внимание на апострофы ' ', в основном именно из-за них такая проблема бывает!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы