Novo

Forum kao aplikacija na telefonu

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

  • 5 odgovora
  • 2.127 pregleda

Najnovija ↓

Problem sa punjenjem kolone 28.06.2011. u 11:49 · pre 186 meseci
izmenjeno 2 puta, poslednji put srLooks 28.06.2011. u 12:50
  1. srLooks28.06.2011. u 12:50zapis iz teksta poruke
  2. srLooks28.06.2011. u 12:20zapis iz teksta poruke
#1
Radim trentno u MSSQL 2008. Imam napunjenu tabelu 'predmet' , medjutim dodao sam novu kolonu idPredmeta koja je tipa int. Potrebna mi je radi sortiranja predmeta, jer cu neke podatke prebacivati u novu tabelu. Posto imam preko 500 stavki u u tabeli predmet, a kolona idPredmeta mi je prazna, da li postoji nacin da je napunim automatski, putem neke putlje.

table izgleda ovako:

sifPred, nazivPredmeta, idPredmeta (kolona idPredmeta bi trebalo da bude redom punjenja 1,2,3,4,..,500)
-----------------------------------
MIKRE --- mikroeko. --- null
MAKR --- makroek --- null
....


Kao sto i vidite, novoformirana kolona idPredmet ima vrednost null. Da ne bih rucno unosio svih 500 cifara, trazazim nacin da to odradim nekako automatski. Ovo mi je jako bitno. Nadam se da postoji resenje.

Ne znam da li bi ti mogao da uradim sa while loop petljom? Ovako nekako:

DECLARE @idPredmeta Int
SET @idPredmeta = 1
WHILE @beginIN <501
BEGIN
SELECT @idPredmeta =idPredmeta
FROM Predmeti
WHERE idPredmeta= @idPredmeta

insert into Predmeti(idPredmeta)
values (@idPredmeta)
SET @idPredmeta =@idPredmeta + 1
END
GO


Medjutim , ovo ne funkcionise kod mene. Javlja mi da ne mogu da napunim prvu kolonu sa vrednoscu null. Ovo izgleda ne radi punjenje kolone idPredmeta koja ima vrednost null.

Hvala unapred.
Re: Problem sa punjenjem kolone 28.06.2011. u 12:58 · pre 186 meseci #2
ako ti ne treba određeni redosled ID-a onda definiši tu koloni kako Identity

Code:

alter table Predmeti add idPredmeta int  identity(1,1)
Potpis
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Re: Problem sa punjenjem kolone 01.07.2011. u 09:31 · pre 186 meseci
izmenjeno 2 puta, poslednji put srLooks 01.07.2011. u 10:50
  1. srLooks01.07.2011. u 10:50zapis iz teksta poruke
  2. srLooks01.07.2011. u 09:41zapis iz teksta poruke
#4
Javio mi se novi problem. U novoj napunjenoj tabeli "BKzapisnik" sam dodao kolonu "idProfesora" koja je sada prazna i ima vrednost NULL i tip podatka "int" . E sada, taj novi idProfesora bi terbalo da se puni po nekom određenom redosledu. Npr. ako je sifProfesora 1 , onda je idProfesora 3 itd i tako 100 zapisa. Onda se menja redosled brojeva pa bude sifProfesora 100, a idProfesora 101 itd... Da li bi mi neko mogao pomoci kao da prebrodim ovaj problem. Imam mnogo rekorda u tabeli nastavnici. Poce sam da punim tabelu pomocu UPDATE iskaza, međutim, to je izuzetno naporno jer imam preko 1500 rekorda u tabeli.

Tabela BKzapisi bi izgledalo ovako posle punjenja (navedene su samo dve kolone, prva koja je sifProfesora, i druga nad kojom treba da se vrsi UPDATE):
sifProfesora ----- idProfeosra (trenutna vrednost kolone idProfesora je NULL)

1 ----------------- ------- 3
2 ------------------------- 5
3 ------------------------- 6
4 ------------------------- 7
... ---- ...
101 ----------------------- 102
102 ----------------------- 103
104 ----------------------- 105


Treba da menjam vrednost NULL brojevima i redosledom koje sam naveo samo kao primer u tabeli iznad ovog teksta. Nadam se da me razumeta.
Re: Problem sa punjenjem kolone 01.07.2011. u 17:16 · pre 186 meseci #5
Lično mislim da ti je struktura tabela potpuno pogrešno definisana, tj. uopšte ne koristiš neke standardne principe pri projektovanju istih (normalizacija, referencijalni integritet i slično).

Da li ovo radiš za neki zadatak ili za neki konkretni projekat? Ako je zadatak, onda, ili je zadatak loše postavljen ili si ga ti pogrešno realizovao. Ako je konkretan projekat, onda nisi dobro definisao strukturu, tj. nisi napravio dobar projekat.

Ako to već ne znaš, savetujem ti da prvo naučiš šta je to normalizacija a zatim šta je referencijalni integritet. Nakon toga će ti biti mnogo lakše da pravilno uradiš to što si započeo.
Potpis
"There is a theory which states that if ever anybody discovers exactly what the
Universe is for and why it is here, it will instantly disappear and be replaced by
something even more bizarre and inexplicable. There is another theory which states
that this has already happened."
-- Douglas Adams
Re: Problem sa punjenjem kolone 01.07.2011. u 19:31 · pre 186 meseci #6
Prvo, kritika ti je upotpunosti na mestu. Postavio si dobro pitanje. To je trenutno resenje BP koje nisam ja pravio. Naravno, njen model necu prikazati. Postavljanjem idProfesora ce mi sluziti samo za filtriranje i izvlacenje podataka iz postojece baze cije su tabele jako lose povezane. Naravno, pitaces me, a sta ce mi idProfesora u toj BP? Pa zbog toga sto u novoformiranom modelu (na kojem ja nisam radio) upravo postoji takvo obelezje u kojem je idProfesora primarni kljuc. Nadam se da mi necete zameriti zbog primera. U sustini, ta tabela ima 15-tak kolona, a ja sam prikazao samo dva obelezja. Dakle, ja sam samo neko ko se prikljucio projektu i koji je zaduzen za izvlacenje podataka iz postojeceg resenja koje kao sto si i sam zakljucio potpuni promasaj. Iz preko 50 tabela, koje nisu potpuno povezane i kod kojih referencijalni integritet nije dobro postavljen, treba da izvlacim podatke. Na tome radim vec neke 3 nedelje. Naravno, puno tu stvari fali, medjutim, ovo nije mesto na kojem bi trebalo da pisem o tome. I jos nesto, kao sto sam i naveo u upitu, brojevi koje sam postavio u tabeli su samo primer problema koji bi trebalo da resim. naravno, ti brojevi nisu tako grupisani.

Nadam se da imas neko resenje na moje postavljeno pitanje. Cilj mi je samo da olaksam sebi sortiranje i izvlacenje podataka i njihovo prenosenje u novu bazu.

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme