Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Spreciti dupli insert

[es] :: MS SQL :: Spreciti dupli insert

[ Pregleda: 1595 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

hashtag

Član broj: 288506
Poruke: 26
*.dynamic.isp.telekom.rs.



Profil

icon Spreciti dupli insert13.10.2011. u 21:42 - pre 152 meseci
Na koji nacin mogu u nekoj INSERT proceduri proveriti da li zapis vec postoji? Ok,imam PK u tabeli,ali mi je potrebno da proverim npr. "Name" kolonu, ukoliko postoji record sa istim Name-om, da handlam dalje u kodu, i prikazem neku poruku.
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Re: Spreciti dupli insert13.10.2011. u 21:49 - pre 152 meseci
Probaj sa nekim SELECT upitom da proveris da li vec taj podatak postoji, ako vec postoji ne radi nista(ili prikazi poruku da podatak vec postoji) ako ne postoji(odosno rezulta upita je 0) onda radi INSERT.
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

hashtag

Član broj: 288506
Poruke: 26
*.dynamic.isp.telekom.rs.



Profil

icon Re: Spreciti dupli insert13.10.2011. u 22:27 - pre 152 meseci
Moze nesto ovako:

Code:

IF EXISTS (SELECT name FROM dbo.Table WHERE name= @name)
          Show Error()

ELSE
     INSERT STATEMENT

        .......
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Spreciti dupli insert14.10.2011. u 08:49 - pre 152 meseci
Obratite paznju na transakcionu izolaciju ako je neophodno. Ukoliko se ta procedura cesto poziva, a narocito u multi-user sistemima neophodno je odrzati lock izmedlju select i insert jer dva procesa mogu da udju u select i vrate o rows i da onda oba ulete u insert.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

nadavesela
programer, DZS

Član broj: 199298
Poruke: 93
195.26.131.*



+3 Profil

icon Re: Spreciti dupli insert14.10.2011. u 10:33 - pre 152 meseci
Moze nad tabelom da kreiras Unique Key i da baza sama stiti sebe

ALTER TABLE [dbo].[Tabela] ADD CONSTRAINT [IX_Tabela] UNIQUE NONCLUSTERED
(
[Name] ASC
) WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.dsl.bell.ca.



+79 Profil

icon Re: Spreciti dupli insert14.10.2011. u 17:28 - pre 152 meseci
Ako vec 'Name' mora da bude jedinstveno, pitam se, pitam se, kako izgleda i cemu sluzi postojeci PRIMARY KEY? Vreme koje cete sada utrositi da resite problem sprecavanja unosa duplikata, bice mnogo duze, nego da ste pokusali da razumno definisete PK. I ako resite problem nekako, proverom na front endu, bas za svaki unos, osta je onaj problem sto je spomenuo mmix, a koji je veoma neugodan za resavanje. Toliko je neugodan da pametni ljudi ucine sve da do toga uopste ne dodje. Nekako kao "dilama je a) leciti ili b) uopste ne dobiti AIDS ili sifilis".

A posle svega, uvek ostaje mogucnost da neko uradi bulk inserst, pa resenje na front endu nece pomoci.....

 
Odgovor na temu

hashtag

Član broj: 288506
Poruke: 26
*.dynamic.isp.telekom.rs.



Profil

icon Re: Spreciti dupli insert16.10.2011. u 12:27 - pre 152 meseci
Cesta je promena zahteva, pa se zbog toga traze alternativna i ne bas najbolja resenja. Service not a project...
 
Odgovor na temu

[es] :: MS SQL :: Spreciti dupli insert

[ Pregleda: 1595 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.