Avatar billede ebech Nybegynder
12. september 2002 - 21:03 Der er 4 kommentarer og
1 løsning

Slet felt i tabel

Her kommer et nybegynder spørgsmål, så svar venligst så detaljeret som muligt.

Jeg har en Oracle database (8.0.1) hvor jeg ønsker at slette et felt i en af mine tabeller.

I databasen har jeg tre USERS, og sletningen skal kun ske i en af userne.
Jeg har prøvet at opstarte SQL Plus med følgende kommando:

connect internal
grant connect to USER1 identified by USER1_Password;
alter TABLE Tabel1 DROP COLUMN Felt1;

Resultat: kan ikke finde table or view

Hvad gør jeg forkert ?
Avatar billede miracon Nybegynder
12. september 2002 - 21:11 #1
I stedet for grant connect .... skriver du bare:
connect USER1/USER1_Password;
alter TABLE Tabel1 DROP COLUMN Felt1;

Mvh Kim Damgaard
Avatar billede pnielsen Nybegynder
12. september 2002 - 21:57 #2
grant connect to USER1 identified by USER1_Password;

grant betyder tildel ... Rent faktisk så laver du en ny bruger i databasen ved at køre denne kommando.. Eller endnu være - hvis han eksisterer, så ændre du hans password !
Avatar billede lasse_buck Nybegynder
12. september 2002 - 22:03 #3
Til hver bruger hører et tilsvarende schema med samme navn.
Tabeller bliver oprettet i det schema, som hører den til bruger man er connected med.
Hvis man er logget på (connected) som brugeren USER1 og opretter tabellen MINTABEL, så bliver tabellen oprettet som USER1.MINTABEL.

Som default kan man kun se tabeller i sit eget schema (den bruger man er logget på som), hvis det skal være muligt at se tabeller i andre schemaer, så skal der grant'es (gives) ekstra rettigheder, og man skal markere, at tabellen ligger i et andet schema.
Eks.
connect bruger1/pwd1
select * from USER2.ENTABEL; (her prøver vi at se i en tabel i et andet schema.)

I dit eksempel, så var du logget på (connected) som internal - en særlig bruger med specielle rettigheder. Efterfølgende giver du brugeren USER1 rettigheder til at connecte, men som miracon skrev, så manglede du at logge på som USER1.

Når du er logget som en vilkårlig bruger, kan du se hvilke tabeller der er oprettet i samme schema vha.:
select table_name from user_tables order by table_name;

God fornøjelse!
Avatar billede nosjns Nybegynder
13. september 2002 - 07:16 #4
Det er ikke muligt at "droppe" en kolonne i Oracle 8. Den feature kom først i Oracle 8i (version 8.1.x).
Avatar billede ebech Nybegynder
13. september 2002 - 09:45 #5
Tak for hjælpen - det virkede.
I øvrigt så har nosjns ret m.h.t. at droppe en kolonne.  Men heldigt for mig, så var det version 8.1.5 og ikke 8.0.5 som skrevet.
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



Seneste spørgsmål Seneste aktivitet
I går 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows