![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 10.07.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Standardowo korzystam z MSSQL i MySQL, ale tym razem musialem napisac w pracy kilka zapytania dla Oracle'a. Mowie sobie - sql to sql, nie bedzie problemu. Wiec ile razy mnie krew zalala w przeciagu ostatnich dwoch dni to szkoda gadac... Mam w zwiazku z tym pytanie odnosnie tworzenia tabel i ustawiania kluczy obcych. Normalnie wygladaloby to tak (dziala pod MSSQL i MySQL bo zawsze tak pisze):
Tak przynajmniej mnie uczono, ze powinno sie klucze obce deklarowac :|. Teraz w Oraclu (pod SQuirreLem) dostaje blad, ze 'brakuje prawego nawiasu'. Jako, ze nawiasu nie brakuje to zaczalem kombinowac gdzie mu skladnia nie lezy, ze sie chlopak burzy. No i doszedlem, ze jesli skladnia bedzie wygladac tak:
to wszystko jest dobrze... Zastanawiaja mnie tutaj dwie rzeczy: po pierwsze dlaczego musze dodawac constrainta na koncu i tworzyc dla niego nowa nazwe (bo tak naprawde to nie bardzo wiem co ta nazwa reprezentuje) skoro primary key moge dodac normalnie (czyli jako domyslny constraint) podczas deklarowania kolumny. A po drugie dlaczego gdy te constrainty nazwalem tak jak constrainty w zupelnie innej tabeli to mi Oracle wywalil blad, ze nazwa jest juz wykorzystana przez istniejace wiezy? Takze mam prosbe do tych osob, ktore sa z Oraclem za pan brat o dokladne i doglebne wyjasnienie o co chodzi bo wiem, ze Oracle jest potezna baza danych, ale teraz nie wiem czy ta potega mnie przerasta czy jak... Bo moj pierwszy z nia kontakt o malo co a zakonczylby sie destrukcja monitora albo przynajmniej klawiatury... -------------------- "Jedyną pewną metodą unikania porażek jest nie mieć żadnych, nowych pomysłów."
Albert Einstein |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 22.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
MySQL też obsługuje taką składnie. Zobacz tutaj.
Najwyraźniej taka jest składnia PLSQL i nic na to nie poradzisz. Nazwa więzu jest potrzebna do takich operacji jak alter table i drop. Cytat Mowie sobie - sql to sql Nie w przypadku MySQL'a, który zawiera mnóstwo niestandardowych udogodnień ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 00:37 |