2014-11-22 4 views
-1

Im, создающая базу данных sql, и у меня есть много разных таблиц connectdd с разными отношениями сущностей.UPDATE: Как исправить ошибку SQL в инструкции процедуры: NEW ERROR

В настоящее время я работаю над данными о соотношении 1: N и im для сбора данных в таблицах с использованием процедур.

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

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

Во всяком случае ...

Это код

Таблица

CREATE TABLE CENIK (
ID_CENIK INTEGER NOT NULL, 
CENA NUMBER(10) NOT NULL, 
DATUM_OD DATE NOT NULL, 
DATUM_DO DATE NOT NULL, 
TK_ID_ARTIKEL NUMBER(10) NOT NULL 
); 

ALTER TABLE CENIK 
ADD (CONSTRAINT PK_CENIK PRIMARY KEY (ID_CENIK)); 

ALTER TABLE CENIK 
ADD (CONSTRAINT TK_CENIK_ID_ARTIKEL FOREIGN KEY 
(TK_ID_ARTIKEL) REFERENCES ARTIKEL(ID_ARTIKEL)); 

Процедура Код

--polnjenje tabele cenik 
PROCEDURE polni_cenik(stevilo_cenikov NUMBER) IS 
cena_artikla NUMBER(10); 
datum_od DATE; 
datum_do DATE; 
c_tk_id_artikel NUMBER(10); 
c_stevilo_artiklov int; 
BEGIN 
    SELECT MAX(ID_ARTIKEL) INTO c_stevilo_artiklov FROM ARTIKEL; 
    FOR st14 IN 1..stevilo_cenikov LOOP 
     cena_artikla := dbms_random.value(1,9999); 
     datum_od := SYSDATE(); 
     datum_do := SYSDATE(); 
     datum_od := datum_od - dbms_random.value(0,1000); 
     datum_do := datum_do + dbms_random.value(0,1000); 
     c_tk_id_artikel := round(dbms_random.value(1,c_stevilo_artiklov)); 
     INSERT INTO CENIK(ID_CENIK, DATUM_OD, DATUM_DO, TK_ID_ARTIKEL) 
     VALUES (st14, datum_od, datum_do, c_tk_id_artikel); 
     dbms_output.put_line (st14); 
    END LOOP; 
COMMIT; 
END; 

И это ошибка

enter image description here

+0

@toddlermenot им жаль, я сделал это, я обещаю использовать эту тему для других вопросов ... – aiden87

ответ

2

ime_kraja := ||' '|| TO_CHAR(st); должен быть ime_kraja := TO_CHAR(st); или вы забыли что-то перед первым ||.

+0

. , Я подозреваю, что это должно быть 'ime_kraja: = ime_kraja || '' || TO_CHAR (st) ' –

+0

большое спасибо. работал целый день, и мои глаза просто устали. еще раз спасибо! – aiden87

+0

@ GordonLinoff, сила индукции eh? :) – Sebas