2015-06-22 3 views
-2

Я пытаюсь выполнить мою первую хранимую процедуру для Oracle, потому что мой предыдущий оператор вставки не работал. Я получаю эти странные ошибки, с которыми я работаю в течение нескольких часов, и никто, кажется, не исправил мою конкретную проблему.Ошибка выполнения хранимой процедуры Oracle

Я просто хочу, чтобы иметь возможность добавлять записи:/

Мой код выглядит следующим образом:

CREATE OR REPLACE Insert_classifieds 
(val_date IN  TABLENAME.Addate%type, 
    val_category IN  TABLENAME.Category%type, 
    val_user IN  TABLENAME.Username%type, 
    val_ phone IN  TABLENAME.Phonenbr%type, 
    val_email IN  TABLENAME.Email%type, 
    val_shortDes IN  TABLENAME.Description%type, 
    val_longDes IN  TABLENAME.Fulldescription%type , 
    val_newstandardid out TABLENAME.Classid%type 
) 
as num_standardid number; 
begin 
    select t_class_seq.nextval into num_standardid from dual; 

    INSERT INTO TABLENAME (Classid, Addate, Category, Username, Phonenbr, Email, Description, Fulldescription) 
    VALUES (num_standardid, val_date, val_category, val_user, val_phone, val_email, val_shortDes, val_longDes); 

    commit; 
    val_newstandardid := num_standardid; 
end; 
+0

Googling замечательна, но когда дело доходит до синтаксиса ошибок ваш первый порт захода всегда должны быть [документации Oracle] (http://docs.oracle.com/database/121/ LNPLS/create_procedure.htm # LNPLS01373) – APC

ответ

0

Таким образом, моя проблема заключалась в том, что у val_phone было свободное пространство и несколько поправок.

финал:

CREATE OR REPLACE PROCEDURE Insert_classifieds 
(val_date  TABLENAME.Addate%type, 
    val_category   TABLENAME.Category%type, 
    val_user  TABLENAME.Username%type, 
    val_phone  TABLENAME.phonenbr%type, 
    val_email   TABLENAME.Email%type, 
    val_shortDes  TABLENAME.Description%type, 
    val_longDes  TABLENAME.Fulldescription%type) 

as num_classid number; 

begin 

select t_class_seq.nextval into num_classid from dual; 

INSERT INTO TABLENAME (Classid, Addate, Category, Username, Phonenbr, Email, Description, Fulldescription) 
    values (num_classid, val_date, val_category, val_user, val_phone, val_email, val_shortDes, val_longDes); 

commit; 

end; 
4

Если вы пытаетесь создать процедуру, синтаксис (вы Пропавшие без вести " ПРОЦЕДУРА "Ключевое слово): CREATE OR REPLACE PROCEDURE Insert_classifieds

+0

Из всех изменений, которые я делал с моим кодом, я должен был удалить это. Теперь он меняет мои ошибки, заявляя мою строку, используя '.nextval' имеет' успех с компиляцией', моя строка 'value' имеет ошибку, которая не разрешена здесь, и мои последние 2 строки кода являются' недопустимыми SQL-операторами' lol. Бесконечный! лол – narue1992

Смежные вопросы