Avatar billede Søren Bech Morsing Praktikant
02. oktober 2002 - 09:54 Der er 4 kommentarer og
1 løsning

hjælp til at oprette en tabel (for første gang i oracle)

Jeg er gået ind i Oracle DBA studio.

Jeg har fundet ned under: Schema
Fundet: Tables
Her finder jeg så nogle forskellige punkter under. Har jeg ret i at det først er når jeg udvider dem jeg får de forskellige tabelnavne?
Og hvordan opretter jeg sådan en "overtabel"?

Nu vil jeg så gerne oprette en tabel med følgende felter:
id, dato, true/false, talfelt, tekstfelt, notatfelt

Id skal være unikt og gerne selv kunne tælle én op for hver indsat kolonne, skal jeg have fat i datatypen "rowid"?

dato der skal default være aktuel dato

true/false der skal default være true
talfelt der skal default være 99
tekstfelt skal default være "slettet"
notatfelt skal være tom/null

Er der en der vil sende mig SQL sætningen for dette?
evt. forklare hvad nedenstående datatyper bruges til, eller link til dette (jeg bruger oracle 8.1.7)

char
varchar2
nchar
nvarchar2
number
date
long
raw
long raw
rowid
blob
clob
nclob
bfile
urowid
float
Avatar billede teepee Nybegynder
02. oktober 2002 - 10:08 #1
true/false kan ikke lade sig gøre, du må i stedet bruge en varchar2(1) eller number(1) til at håndtere dette

create table tabel1 (
id number primary key,
dato date default sysdate,
aktiv number(1) default 1,
talfelt number default 99,
tekstfelt varchar2(500) default 'slettet',
notatfelt varchar2(2000));

create sequence id_seq;

create or replace trigger id_trg
before insert or update
on tabel1
for each row
begin
if :new.id is null then
select id_seq.nextval
  into :new.id
  from dual;
end if;
end;

SCLJOt>desc tabel1;
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
ID                                        NOT NULL NUMBER
DATO                                              DATE
AKTIV                                              NUMBER(1)
TALFELT                                            NUMBER
TEKSTFELT                                          VARCHAR2(500)
NOTATFELT                                          VARCHAR2(2000)

SCLJOt>insert into tabel1 (notatfelt) values ('tester');

1 row created.

SCLJOt>select * from tabel1;

        ID DATO          AKTIV    TALFELT
---------- --------- ---------- ----------
TEKSTFELT
--------------------------------------------------------------------------------
NOTATFELT
--------------------------------------------------------------------------------
        1 02-OCT-02          1        99
slettet
tester
Avatar billede teepee Nybegynder
02. oktober 2002 - 10:09 #2
rowid er en "magisk" kolonne som altid kan udtrækkes for tabeller selvom den egentligt ikke lige findes i description af tabellen
Avatar billede Søren Bech Morsing Praktikant
02. oktober 2002 - 10:11 #3
kan jeg få tid med i min sysdate hvis jeg skriver systime?

Nu skal jeg bruge det vha ASP (skal måske spørge der) så hvordan klarer jeg det der med at tilføje et id?
Avatar billede teepee Nybegynder
02. oktober 2002 - 10:44 #4
sysdate indeholder også tiden, hvorimod trunc(sysdate) afrunder til datoen.
Date feltet indeholder dog stadig tiden, men i trunkeringseksemplet vil denne være 00:00:00.
Avatar billede teepee Nybegynder
02. oktober 2002 - 10:46 #5
du kan bruge:

insert into tabel1 (id) values (id_seq.nextval)

til at indsætte næste id i rækken
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