私はSQLデータベースを作成していますが、さまざまなエンティティ関係を持つ多くの異なるテーブルが接続されています。
現在、1:N の関係に取り組んでおり、手順を使用してテーブルへの人口データを作成しています。
私は少し進歩しましたが、小さなエラーに出くわし続けており、それらを修正するのに問題があります。
修正できない問題に遭遇しました。私は今、風邪を1時間ほど見ていますが、それはすぐそこにあるかもしれないと思いますが、私はそれを見ることができません.
ともかく...
これがコードです
テーブル
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;
そして、これはエラーです