I have created the table \"Risiko\" which shouldntbe dynamic, i tought it would be that simple but it was not. How should i solve it? and what am i doing wrong?
CREATE OR REPLACE PROCEDURE TABLERISIKO ( in_table_name user_tables.table_name%TYPE) IS
l_table_exists PLS_INTEGER;
l_table_name user_tables.table_name%TYPE;
BEGIN
l_table_name := 'RISIKO';
SELECT COUNT ( *)
INTO l_table_exists
FROM user_tables
WHERE table_name = l_table_name;
IF l_table_exists = 1 THEN
EXECUTE IMMEDIATE 'DROP TABLE ' || l_table_name;
END IF;
EXECUTE IMMEDIATE
'CREATE TABLE ' || l_table_name || '
(
RNr INTEGER,
Projekt INTEGER,
Text VARCHAR(25),
Gruppe INTEGER,
Auswirkung INTEGER,
WKeit INTEGER,
Pruefdatum DATE,
PRIMARY KEY (RNr),
CONSTRAINT FK' || l_table_name || '1 FOREIGN KEY (Projekt)
REFERENCES Projekt(ProNr),
CONSTRAINT FK' || l_table_name || '2 FOREIGN KEY (Gruppe)
REFERENCES ' || l_table_name || 'gruppe (RGNr),
CONSTRAINT PosAuswirkung CHECK(Auswirkung >=0),
CONSTRAINT WKeitProzent CHECK(WKeit>=0 AND WKeit<=100)
)';
EXECUTE IMMEDIATE 'INSERT INTO ' || l_table_name || ' VALUES (1, 1, ''Anforderungenunklar'', 1, 50000, 30, TO_DATE ( ''25.01.06'', ''DD.MM.YY2''))';
EXECUTE IMMEDIATE 'INSERT INTO ' || l_table_name || ' VALUES (2, 1, ''Abnahmeprozess offen'', 2, 30000, 70, TO_DATE ( ''26.02.06'', ''DD.MM.YY''))';
EXECUTE IMMEDIATE 'INSERT INTO ' || l_table_name || ' VALUES (3, 2, ''Ansprechpartner wechseln'', 1, 20000, 80, TO_DATE ( ''06.05.06'', ''DD.MM.YY''))';
EXECUTE IMMEDIATE 'INSERT INTO ' || l_table_name || ' VALUES (4, 2, ''neue Entwicklungsumgebung'', 3, 40000, 20, TO_DATE ( ''05.10.06'', ''DD.MM.YY''))';
COMMIT;
END;
BEGIN
TABLERISIKO ( 'RISKO');
END;
SELECT * FROM risko;