Προς το περιεχόμενο

Προβλημα σε project στην Microsoft SQL


zoumpikos

Προτεινόμενες αναρτήσεις

Θα παραθέσω παρακάτω το σημείο που είναι σχετικό με το λάθος που παίρνω:

 

create table klinikes (id_klinikhs char (5) not null primary key, perigrafh char (20) not null);

 

create table giatroi_gynaikologikhs_klinikhs (

id_klinikhs char (5),id_giatrou char (5) ,

constraint giatroi_gynaikologikhs_klinikhs_FOREIGN_KEY foreign key (id_klinikhs)

references klinikes(id_klinikhs),

constraint giatroi_gynaikologikhs_klinikhs_PRIMARY_KEY primary key (id_klinikhs,id_giatrou) ,

onoma_giatrou char (15) not null, epitheto_giatrou char (20) not null,

dieythinsi char (20), thlephono numeric (10), hm_proslipshs datetime );

 

create table ypeythinos_gynaikologikhs_klinikhs (

id_klinikhs char (5)not null, id_giatrou char (5)not null,

constraint ypeythinos_gynaikologikhs_klinikhs_FOREIGN_KEY foreign key (id_klinikhs)

references giatroi_gynaikologikhs_klinikhs(id_klinikhs),

foreign key (id_giatrou) references giatroi_gynaikologikhs_klinikhs (id_giatrou)

);

 

Ενώ οι δύο πρώτοι πίνακες δημιουργούνται χωρίς κανένα πρόβλημα, όταν πάω να φτιάξω τον τελευταίο μου βγάζει το παρακάτω μήνημα λάθους:

 

Server: Msg 1776, Level 16, State 1, Line 1

There are no primary or candidate keys in the referenced table 'giatroi_gynaikologikhs_klinikhs' that match the referencing column list in the foreign key 'FK__ypeythino__id_gi__02084FDA'.

Server: Msg 1750, Level 16, State 1, Line 1

Could not create constraint. See previous errors.

 

Κοίταξα με τον Enterprise Manager και είδα ότι αυτά είναι τα κλειδιά στον προηγούμενο πίνακα που το μήνυμα λέει ότι δεν υπάρχουν!!

Μπορεί κανείς να βοηθήσει γιατί έχω κολλήσει εντελώς? Ευχαριστώ προκαταβολικά!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δυστυχώς δεν ξέρω να σου απαντήσω. Όμως, τώρα μαθαίνω SQL, είδα τον τύπο numeric και επειδή δεν το έχω ξαναδεί ήθελα να ρωτήσω τί διαφορά έχει από το int. Ευχαριστώ.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εγώ το κανα με το management studio χωρίς κώδικα και διαπίστωσα ότι πράγματι στον 3ο πίνακα δεν μπορούσε να θέσει foreign keys τα id_klinikhs και id_giatrou.Οπότε τα βαλα primary key μαζί με ένα δικό μου ypeythinos_gynaikologikhs_klinikhs (χωρίς πρόβλημα αφού ήδη είναι null) και αυτόματα έγιναν foreign key στον πίνακα ypeythinos_gynaikologikhs_klinikhs.Και καλό θα είναι να βάλεις int τα id σε περίπτωση που θες να κάνεις range query (πχ να βρει id από 1 μέχρι 200).Το char δε θα τα καταλάβει.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τα βάζω char γιατί θέλω να τα δηλώνω σαν "ypg01"... και αλλιώς δεν θα μπορούσα! Δηλαδή μου λες να τα ορίσω στον πίνακα ypeythynos_gynaikologikhs_klinikhs σαν primary keys και θα δουλέψει! Θα το δοκιμάσω και αυτό και ελπίζω να πετύχει!!

Ευχαριστώ πολύ για την βοήθεια! :)

 

p.s μη φανταστείς οτι ξέρω κ εγώ πολύ καλά sql, αλλά πιστεύω ότι το int δηλώνει ακέραιους αριθμούς ενώ το numeric οποιοδήποτε αριθμιτικό ποσό, ανεξάρτητα αν είναι ακέραιος αριθμός ή όχι!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...