Tmark Δημοσ. 4 Μαΐου 2011 Δημοσ. 4 Μαΐου 2011 Για autonumbering στην Oracle δεν γνωρίζω πολλά.. Μόνο σε SQL server.
Aztec Δημοσ. 4 Μαΐου 2011 Δημοσ. 4 Μαΐου 2011 Να σου πω..θυμήθηκα και το άλλο που ειχα ζητήσει το πως θα φτιάξω autonumber μου είχες πει στην πρώτη σελίδα αλλά δεν ξέρω που θα τα βρω αυτα..μπορείς να μου πεις λίγο περισσότερα πράγματα? H Oracle έχει το λεγόμενο sequence . Δεν δηλώνεται πάνω στο πεδίο αλλά αποτελεί ξεχωριστό object στο σχήμα. Επομένως δημιουργείς το sequence με την αντίστοιχη εντολή. Για το πως θα το δημιουργήσεις δες εδώ. Ας πούμε ότι δημιουργήσες το sequence "mysequence" . Τότε απλά στο insert statement γράφεις ως εξής >insert into mytable(field1_auto,field2,field3) values(mysequence.nextval,10,10); Με το mysequence.nextval του λες να σου δώσει την επόμενη τιμή. Me το mysequence.currval σου δίνει την ίδια τιμή. Αυτό μπορεί να χρειαστεί σε περίπτωση που θέλεις να καταχωρήσεις σε δύο πίνακες. O trigger που αναφέρθηκε νωρίτερα απο κάποιο φίλο χρειάζεται ώστε να μην περιλαμβανεις το autonumber πεδίο σου στα insert αλλά να αναλαμβάνει ο ίδιος να συμπληρώσει το πεδίο κατάλληλα. Αυτό γίνεται δημιουργώντας εναν dml trigger before insert for each row και χρησιμοποιώντας το sequence ώστε να θέτεις την νέα τιμή Για παράδειγμα >CREATE OR REPLACE TRIGGER mytrigger BEFORE INSERT ON mytable FOR EACH ROW BEGIN SELECT mysequence.NEXTVAL INTO :new.field1_auto FROM dual; END; και το insert πλεον διαμορφώνεται ως εξής >insert into mytable(field2,field3) values(10,10);
mihalis19 Δημοσ. 6 Μαΐου 2011 Μέλος Δημοσ. 6 Μαΐου 2011 Aztec σε ευχαριστώ που μπήκες στον κόπο αλλά είναι πολύ περίπλοκο για εμένα. Το μόνο που ξέρω να κάνω είναι απλά να λειτουργώ εν μέρη την oracle 10g που έχω εγκαταστήσει αλλά χωρίς να μπορώ να γράψω εντολές δικέ ςμου κτλ πρώτον γιατί δεν ξέρω που να τις γράψω.. Θα προσπαθήσω να το παρακάμψω λίγο το θέμα του autonumber. Έχω κολλήσει στο πως θα δηλώσω τα κλειδιά μου.. Συγκεκριμένα έχω τα εξής στοιχεία. πινακας 1: φοιτητες με πεδία: κωδ.φοιτητη , επώνυμο , όνομα , διέυθυνση πινακας 2: μαθηματα με πεδία: κωδ.μαθήματος , τίτλος , σημειώσεις πινακας 3: εξετασεις με πεδία: κωδ.φοιτητη , κωδ.μαθηματος , ημερομηνία , βαθμός Όρισα κλειδιά στον πίνακα 1 τον κωδ.φοιτητή --||-- 2 τον κωδ.μαθήματος --||-- 3 τι να δηλώσω??? Στην αρχή δήλωσα τον κωδ.φοιτητή , τον κωδ.μαθήματος αλλά δεν ξέρω πως να ορίσω σωστά τα κλειδιά..Αν γίνεται πείτε μου να το κάνω χωρίς κώδικα με τις διαδικασίες (κουμπιά) που έχει η oracle 10g express Δεν ξέρω τι να βάλω στις επιλογές στις καρτέλες primary key και foreign key
Tmark Δημοσ. 6 Μαΐου 2011 Δημοσ. 6 Μαΐου 2011 Στο 3ο θα δηλώσεις primary key τα κωδ.φοιτητη , κωδ.μαθηματος.
mihalis19 Δημοσ. 6 Μαΐου 2011 Μέλος Δημοσ. 6 Μαΐου 2011 ναι οκ...! αυτο βρηκα αλλα δεν το εκανα καλα..! ειμαι οκ πετυχε...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.