Problem med oprettelse af typer/objecter i Oracle 8i PE
Jeg forsøger, at oprette nogle objecter i et script. Eks. Create or replace type addr as object (gade varchar( 20 ),.....); / osv. Jeg bruger notepad og kalder så scriptet fra SQL+ med @c:\\sti;. Problemet er så, at 2. gang jeg kører scriptet er typerne/objekterne jo allerede oprettet og jeg får en fejlmeddelse \"ORA-02303: kan ikke droppe eller erstatte en type med type- eller tabelafhængigheder\". Hvad gør jeg forkert, jeg bør vel kunne replace mine typer/objecter igen eller hvad ?? Jeg her meget brug for at kunne afvikle et script og så se resultatet (jeg er ny i Oracle miljøet - og skal prøve mig lidt frem) ?? Alternativ: kan jeg slå fejlmeddelsen fra ?? Jeg har også det problem nu, at jeg får så lang en fejlmeddelse når jeg kører mit script, at jeg ikke kan se starten - er der en pause/step back funktion når scriptet er kørt ?? Er der en kommando hvor jeg kan se alt hvad jeg har oprettet af typer og tabeller ?? Og er det muligt at definere sine typer/tabeller/objekter til et bestemt schema under oprettelsen ?
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Det som fejlmeddelelsen forsøger at gøre opmærksom på, er at der eksisterer objekter, der er baseret på den type du forsøger at ændre.
Måske er problemet, at dit script først laver typen, og dernæst måske anvender denne type, f.eks i en tabeldefinition ? - Hvis det er tilfældet, kommer du ud over problemet, ved at droppe tabellen, create/replace typen og dernæst oprette tabellen igen...
Du kan se alle dine objekter i USER_OBJECTS, fx. SELECT object_type, object_name FROM user_objects;
Og du kan sagtens oprette objekter i \'fremmede\' schemaer ved at prefixe objektnavnet med schemanavnet, fx. CREATE TABLE scott.test (n NUMBER);
umiddelbart kan du ikke bare erstate selv-predefineret objecter med en replace, hvis de er i brug! Der siger vel egentligt sig selv.
Men det du spørger efeter er vel bare en spool ? det vil sige at du får output ud i en fil, når du kører dit script .....
f.eks: sqlplus> spool c:\\test.trc sqlplus> @c:\\script.sql bla bla bla
sqlplus> spool off
Kig i test.trc og du er godt på vej....
;-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.