Avatar billede tma Juniormester
03. maj 2005 - 20:30 Der er 11 kommentarer og
1 løsning

Create table <navn> as select

Hej

Er der nogen der kan hjælpe med den præcise syntaks for oprettelse af en kopi af en tabel? Jeg skal senere slette den oprindelige og derefter oprette den på ny: Der skal altså oprettes et nyt objekt med samtlige data fra den oprindelige tabel. Jeg har hørt at det i den forbindelse vil være fordelagtigt at anvende en nologging option. Hvordan gøres dette?

Jeg har brug for hjælp til begge spørgsmål...

Hilsen Torben
Avatar billede arne_v Ekspert
03. maj 2005 - 20:36 #1
Det første er lige ud af landevejen.

Eksempel:

SQL> select * from t1;

        F1 F2
---------- --------------------------------------------------
        1 A
        2 BB
        3 CCC

SQL> create table t2 as select * from t1;

Tabel er oprettet.

SQL> select * from t1;

        F1 F2
---------- --------------------------------------------------
        1 A
        2 BB
        3 CCC
Avatar billede tma Juniormester
03. maj 2005 - 20:45 #2
Jeg har kun mulighed for at teste på en sql-server i aften. Her virker syntaksen ikke. Jeg får en fejl: Incorrect syntax near the keyword 'as'
Ved du om der er en forskel i syntaksen sql <-> oracle?
Jeg havde nemlig også forsøgt med denne tidligere.
Kender du til den anden?

Torben
Avatar billede arne_v Ekspert
03. maj 2005 - 20:46 #3
med nologging er det vel bare:

create table t2 nologging as select * from t1;
Avatar billede arne_v Ekspert
03. maj 2005 - 20:49 #4
Jeg mener ikke at du kan lave en CREATE TABLE ... AS SELECT ... i SQLServer
Avatar billede tma Juniormester
03. maj 2005 - 21:02 #5
OK, det lyder sandsynligt, jeg synes også at syntaksen lyder korrekt. Jeg skal se på en gammel databaseinstallation der efterhånden performer dårligt (har ikke været vedligeholdt i ca. 6 år). Jeg vil gerne rebuilde indexer. Har jeg ret i, at syntaksen er:

alter index <indexnavn> rebuild

Ligger du lige et svar? Du skal da have lidt for indsatsen...
Avatar billede arne_v Ekspert
03. maj 2005 - 21:06 #6
jep

jep
Avatar billede arne_v Ekspert
03. maj 2005 - 21:07 #7
Avatar billede tma Juniormester
03. maj 2005 - 21:39 #8
Har ikke nævnt det, men der er tale om en oracle version 7.x (kan ikke huske det præcist) baseret på OS/2.

Fandt et helt kanon sted: http://www.cryer.co.uk/brian/oracle/

Tak for hjælpen.

Torben
Avatar billede arne_v Ekspert
03. maj 2005 - 21:50 #9
Ouch.

Det er gammelt.
Avatar billede arne_v Ekspert
03. maj 2005 - 21:51 #10
han har iøvrigt en vigtig lille note om index rebuild og tablespace
Avatar billede tma Juniormester
04. maj 2005 - 14:07 #11
Så er besøget slut...

Kun delvist en success, da det viste sig at rebuild og analyse ikke er kendte metoder på version 7.2.2.4.0 som er den version systemet arbejdede på.

Torben
Avatar billede arne_v Ekspert
04. maj 2005 - 19:51 #12
7.2 (og på OS/2) uff

ingen anelse

men kan du ikke recreate tabellerne som i første del af dit spørgsmål ?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester