Her er mit forslag:undgå CHAR
datatype, medmindre det giver mening (såsom i køn , som du gjorde), samt VARCHAR
>>> brug VARCHAR2
i stedet (personligt bruger jeg aldrig CHAR
, og har aldrig nogensinde brugt VARCHAR
).
DATE
datatype indeholder både dato- og tidskomponent, så du er sikker, hvis du bruger den.
Kolonner, der gør den primære nøglebegrænsning, behøver ikke at have NOT NULL
begrænsning angivet, fordi primærnøgler alligevel ikke tillader null.
Så her er det et fungerende eksempel:
SQL> create table appointment
2 (appointid integer constraint pk_app primary key,
3 appoint_date date,
4 appoint_type varchar2(5)
5 );
Table created.
SQL>
SQL> insert into appointment values
2 (1, to_date('15.04.2017 10:00', 'dd.mm.yyyy hh24:mi'), 'long');
1 row created.
SQL>
SQL> create table doctor
2 (appointid integer constraint fk_doc_app references appointment (appointid),
3 regnum varchar2(6),
4 doc_name varchar2(40),
5 doc_gender char(1),
6 qual varchar2(80),
7 --
8 constraint pk_doc primary key (appointid, regnum)
9 );
Table created.
SQL>