Когда я компилирую процедуру пакета в oracle, я получаю сообщение об ошибке «успех с ошибкой компиляции». Как решить проблему? - PullRequest
0 голосов
/ 18 января 2019

Я использую рабочее пространство Apex Oracle для окончательного назначения базы данных. Я уже создал стол «волонтер». Теперь мне нужно вставить данные в таблицу, используя операторы процедуры pl-sql.

Когда я пытаюсь запустить этот код -

CREATE OR REPLACE PACKAGE pkgVolunteer
AS PROCEDURE uspaddVolunteer(varvl_ID NUMBER, varvl_type NUMBER, 
    varName VARCHAR2, varAge NUMBER, varGenger VARCHAR2, 
    varBirthDateVARCHAR2, varPhone NUMBER, varEmail VARCHAR2,
    varFaculty VARCHAR2, varCourse VARCHAR2, varYear NUMBER,
    varcountry VARCHAR2, varCity VARCHAR2 varstreet VARCHAR2,
    varPostCode VARCHAR2);
END pkgVolunteer;
--
CREATE OR REPLACE PACKAGE BODY pkgVolunteer
AS PROCEDURE uspaddVolunteer(varvl_ID NUMBER, varvl_type NUMBER, varName 
    VARCHAR2, varAge NUMBER, varGenger VARCHAR2, varBirthDate VARCHAR2, 
    varPhone NUMBER, varEmail VARCHAR2, varFaculty VARCHAR2,
    varCourse VARCHAR2, varYear NUMBER, varcountry VARCHAR2,
    varCity VARCHAR2, varstreet VARCHAR2, varPostCode VARCHAR2)
IS 
BEGIN INSERT INTO  Volunteer(vl_id, vl_type, name, age, gender, birth_date, 
    phone, email, faculty, course, year,addr_country, addr_city, 
    addr_street, addr_postcode)
    VALUE(varvl_ID, varvl_type, varName, varAge, varGenger, vBirthDate, 
    varPhone, varEmail, varFaculty, varCourse, varYear, varcountry, 
    varCity, varstreet, varPostCode);
END uspaddVolunteer;
--
BEGIN pkgVolunteer.uspaddVolunteer('vl34322343', 1, 'Jack smith', 23 
    'Male','02/20/1994', 07400323321, 'jacksmith.example@gmail.com', '',
    'Bsc IT', 2, 'United Kingdom', 'London', '42 Hill street', 'EC329RU');
END;

Я получаю ошибку «ORA-24344: успех с ошибкой компиляции».

Также здесь представлен оператор sql для создания таблицы -

CREATE TABLE volunteer
    (vl_id VARCHAR2(10) NOT NULL, vl_type NUMBER,
     name VARCHAR2(50), age NUMBER, gender VARCHAR2(6),
     birth_date VARCHAR2(10), phone NUMBER, email VARCHAR2(30),
     faculty VARCHAR2(50), course VARCHAR2(50), year NUMBER,
     addr_country VARCHAR2(30), addr_city VARCHAR2(50),
     addr_street VARCHAR2(50), addr_postcode VARCHAR2(7),

CONSTRAINT pk_volunteer PRIMARY KEY (vl_id));

Я попытался проверить синтаксические ошибки, но не смог найти никаких ошибок. Может ли кто-нибудь помочь мне решить проблему?

1 Ответ

0 голосов
/ 18 января 2019

Попробуйте ниже, проверьте мои комментарии:

CREATE OR REPLACE PACKAGE pkgVolunteer AS
  PROCEDURE uspaddVolunteer(varvl_ID NUMBER,
                            varvl_type NUMBER,
                            varName VARCHAR2,
                            varAge NUMBER,
                            varGenger VARCHAR2,
                            varBirthDate VARCHAR2,-- here needs space
                            varPhone NUMBER,
                            varEmail VARCHAR2,
                            varFaculty VARCHAR2,
                            varCourse VARCHAR2,
                            varYear NUMBER,
                            varcountry VARCHAR2,
                            varCity VARCHAR2 , --> needs comma
                                                        varstreet VARCHAR2,
                            varPostCode VARCHAR2);
END pkgVolunteer;
/
CREATE OR REPLACE PACKAGE BODY pkgVolunteer AS
PROCEDURE uspaddVolunteer(varvl_ID NUMBER, varvl_type NUMBER, varName VARCHAR2, varAge NUMBER, varGenger VARCHAR2, varBirthDate VARCHAR2, varPhone NUMBER, varEmail VARCHAR2, varFaculty VARCHAR2, varCourse VARCHAR2, varYear NUMBER, varcountry VARCHAR2, varCity VARCHAR2, varstreet VARCHAR2, varPostCode VARCHAR2) IS
BEGIN
INSERT INTO Volunteer
  (vl_id,
   vl_type,
   name,
   age,
   gender,
   birth_date,
   phone,
   email,
   faculty,
   course,
   year,
   addr_country,
   addr_city,
   addr_street,
   addr_postcode) VALUEs --> needs s 
  (varvl_ID,
   varvl_type,
   varName,
   varAge,
   varGenger,
   vBirthDate,
   varPhone,
   varEmail,
   varFaculty,
   varCourse,
   varYear,
   varcountry,
   varCity,
   varstreet,
   varPostCode);
END;
end; -- add another END;
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...