как я могу удалить это ... пожалуйста, скажите мне, потому что я пробовал все. есть ли в этом коде какие-то проблемы - PullRequest
0 голосов
/ 30 мая 2020

это код, который у меня сейчас есть

create or replace procedure airline(flight_no      in airline_details.flight_no%type,
                                    airline        in airline_details.airline%type,
                                    source         in airline_details.source%type,
                                    destination    in airline_details.destination%type,
                                    departure_time in airline_details.depart_time%type,
                                    arrival_time   in airline_details.arrive_time%type,
                                    ticket_class   in airline_details.ticket_class%type,
                                    ticket_fare    in airline_details.ticket_fare%type) 
                                   is
begin
    insert into airline_details
    values
      (flight_no,
       airline,
       source,
       destination,
       depart_time,
       arrive_time,
       ticket_class,
       ticket_fare);
end;
/

и вызывается как

begin
  airline('PK-710', 'PIA', 'ISB', 'KHI', '10:00 AM', '12:00 AM', 'Economy', 85000);
end;
/
ERROR at line 2:
ORA-06550: line 2, column 1:
PLS-00905: object SCOTT.AIRLINE is invalid
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored

1 Ответ

0 голосов
/ 30 мая 2020

Как указано в вашем комментарии Barbaros Özhan , в ваших формальных именах аргументов и аргументах, которые вы передаете в операторе Insert, есть несоответствия. departure_time arrival_time

Вот исправленный код

CREATE OR REPLACE PROCEDURE airline(
    flight_no        IN   airline_details.flight_no%TYPE,
    airline          IN   airline_details.airline%TYPE,
    source           IN   airline_details.source%TYPE,
    destination      IN   airline_details.destination%TYPE,
    departure_time   IN   airline_details.depart_time%TYPE,
    arrival_time     IN   airline_details.arrive_time%TYPE,
    ticket_class     IN   airline_details.ticket_class%TYPE,
    ticket_fare      IN   airline_details.ticket_fare%TYPE
)IS
BEGIN
    INSERT INTO airline_details VALUES(
        flight_no,
        airline,
        source,
        destination,
        departure_time,
        arrival_time,
        ticket_class,
        ticket_fare
    );

END;
/

Убедитесь, что таблица airline_details присутствует в текущей схеме, или вы используете имя схемы перед именем таблицы , например, schema_in_which_table_is_present.tablename.

И для этой ошибки

begin
  airline('PK-710', 'PIA', 'ISB', 'KHI', '10:00 AM', '12:00 AM', 'Economy', 85000);
end;
/

Попробуйте процедуру перекомпиляции с исправлениями.

...