Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 10 odgovora
  • 5.937 pregleda

Najnovija ↓

SQL Server dodaje novi slog u sred tabele (?) 07.09.2006. u 23:12 · pre 245 meseci #1
Imam problem sa ubacivanjem novih slogova u tabelu...

Imam slogove sa IDjevima 1,2,7,8,9... Kada ubacim novi slog (10) dodaje se posle sloga 2.... (????) 11,12 isto posle desetke, a tek 13 ce da se pojavi na kraju tabele.

Nista ne kapiram, ovo mi se prvi put desilo... Komanda je najjednostavnija: "INSERT INTO FAKULTETI VALUES ('11','Beogradski Univerzitet','ETF')"

Ako hocete neke shotove, poslacu ih...

Jel ima neko ideju?


10x in adv
Re: SQL Server dodaje novi slog u sred tabele (?) 07.09.2006. u 23:30 · pre 245 meseci #3
Ni jedan server ne garantuje da će redosled pojavljivanja slogova svaki put kada izvršiš
Code:

SELECT *
  FROM Fakulteti

biti isti! Za server su svi slogovi ravnopravni. Server nezna da ti hoćeš da sortiraš podatke po IDjevima. To mu moraš eksplicitno reći upotrebom klauzule ORDER BY. U tvom slučaju to izgleda
Code:

SELECT *
  FROM Fakulteti
 ORDER BY id

Dobra praksa je da se u produkcijskim upitima koristi klauzula ORDER BY.
Potpis
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
Re: SQL Server dodaje novi slog u sred tabele (?) 07.09.2006. u 23:41 · pre 245 meseci #4
Pa nije mi neki problem, ali sam bio 100% ubedjen da se novi slogovi UVEK smestaju na kraj tabele i da "SELECT * FROM" vraca slogove kako su smesteni. Izgleda da bas i nije tako.
Re: SQL Server dodaje novi slog u sred tabele (?) 08.09.2006. u 07:04 · pre 245 meseci #5
Citat:
giger:Komanda je najjednostavnija: "INSERT INTO FAKULTETI VALUES ('11','Beogradski Univerzitet','ETF')"

Iz prilozenog se vidi da ti je ID znakovnog tipa, pa nije nimalo cudno sto su slogovi uredjeni kao sto kazes, jer tako i treba da se sortiraju.
Citat:
giger:Nista ne kapiram, ovo mi se prvi put desilo...

Desice se to svaki put, sve dok ne promenis tip ID kolone na int, ili neki slicni.
Re: SQL Server dodaje novi slog u sred tabele (?) 08.09.2006. u 16:14 · pre 245 meseci #6
Pa nije znakovnog tipa. Int je.

Mozes i int da ubacis sa apostrofima. A cak i da je znakovnog tipa, nelogicno je da je redosled 1,2,10,11,12,7,8,9,13 (?)...
Re: SQL Server dodaje novi slog u sred tabele (?) 08.09.2006. u 16:49 · pre 245 meseci #7
> Pa nije mi neki problem, ali sam bio 100% ubedjen da se novi slogovi UVEK smestaju na kraj tabele i da "SELECT * FROM" vraca
> slogove kako su smesteni. Izgleda da bas i nije tako.

Pojednostavljeno, slogovi se smeštaju na prvu slobodnu lokaciju, ta lokacija može biti na kraju baze ili na početku ili u sredini (npr. nastala posle brisanja nekih drugih slogova).
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: SQL Server dodaje novi slog u sred tabele (?) 08.09.2006. u 16:52 · pre 245 meseci
izmenjeno 1 put, poslednji put dragancesu 08.09.2006. u 17:37
  1. dragancesu08.09.2006. u 17:37zapis iz teksta poruke
#8
Bez brige, dobrodosao u svet baza. To kako baza smesta podatke u bazu je nebitno, softver se trudi da to bude efikasno. Ono sto moras da shvatis je da su podaci u bazi na hrpi, a redosled prikaza je nebitan, s tim ti upravljas. To su ti WHERE i ORDER klauzule.

I zaboravi pojmove prethodni i sledeci slog.
Potpis
Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
Re: SQL Server dodaje novi slog u sred tabele (?) 08.09.2006. u 17:03 · pre 245 meseci #9
Hvala drugari. Bio sam ubedjen u suprotno, pogotovo sto sam i ovde na ovom forumu jednom procitao post koji je tvrdio ono prvo...

A sad kad bolje razmislim i ima smisla da radi ovako kako radi.
Re: SQL Server dodaje novi slog u sred tabele (?) 08.09.2006. u 17:27 · pre 245 meseci #10
Citat:
giger: Pa nije znakovnog tipa. Int je.

Mozes i int da ubacis sa apostrofima. A cak i da je znakovnog tipa, nelogicno je da je redosled 1,2,10,11,12,7,8,9,13 (?)...


Ti bas volis da radis kako ne treba :).

Posto sad znamo da je int onda je problem sto nisi stavio da ti je ID primary key, pa sortira onim redom kako si unosio, a ako stavis da je primary sortirace uvek po velicini ID-a bez potrebe da koristis ORDER klauzulu.
Re: SQL Server dodaje novi slog u sred tabele (?) 09.09.2006. u 00:53 · pre 245 meseci #11
Aman.


Ja se izvinjavam sto nisam bio jasniji, ali baza je apsolutno korektna u ovom smislu. ID _jeste_ primary key.

Mislim, zato sam i postavio topic, jer me zbunjivalo sve ovo, ali ovi ljudi su mi razjasnili. Mozda ni ti ovo nisi video ranije, ako hoces mogu da ti posaljem i erwin model iz koga sam generisao script, kao dokaz, da je sve ok sto se baze tice.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme