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

IF EXISTS ... izadji iz procedure

[es] :: MS SQL :: IF EXISTS ... izadji iz procedure

[ Pregleda: 1807 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-1.sezampro.yu.



+1 Profil

icon IF EXISTS ... izadji iz procedure04.10.2008. u 00:14 - pre 189 meseci
Gde je greska u ovom kodu ?

Naime, hocu da mi procedura prvo ispita da li postoji rekord koji ima ova 2 parametra. Ako ima, neka vrati vrednost -2 ,a ako nema neka se izvrsi.

BEGIN

SET NOCOUNT ON;
BEGIN TRY
BEGIN TRANSACTION;

IF EXISTS(SELECT * FROM T2GR_RadniZadaci WHERE T2GRID = @T2GRID AND RadniZadatakID = @RadniZadatakID)
RETURN -2 < --- ako postoji rekord, izadji, i vrati -2


INSERT INTO T2GR_RadniZadaci(T2GRID,RadniZadatakID, RadniZadatak,CiljRadnogZadatka,PonderCilja)
VALUES(@T2GRID, @RadniZadatakID,@RadniZadatak, @CiljRadnogZadatka, @PonderCilja )

COMMIT TRANSACTION;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
END

EXEC db_PrintError
EXEC db_RethrowError
RETURN -1;
END CATCH

RETURN 1;
END
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
81.18.61.*

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: IF EXISTS ... izadji iz procedure04.10.2008. u 12:22 - pre 189 meseci
Pitanje: Sta se desi sa tvojom transakcijom ako zapis postoji?
Every hamster has his day.
 
Odgovor na temu

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-1.sezampro.yu.



+1 Profil

icon Re: IF EXISTS ... izadji iz procedure04.10.2008. u 13:00 - pre 189 meseci
Ako zapis postoji, ne ubacuje se rekord, izlazi se iz transakcije i vraca greska -2

no ... vec se mucim celo jutro, i citam po netu, pa cu najverovatnije resiti ovo sa @IDentity-em ..


osim, ako ne postoji ipak resenje sa Exists ?

poz.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: IF EXISTS ... izadji iz procedure04.10.2008. u 14:52 - pre 189 meseci
Pa covek ti dade hint :)

Ne mozes da uradis return usred transakcije, ostavljas transakciju otvorenom, sto ti verovatno izaziva probleme. Ako otvoris trasnsakciju geldaj da je uvek zatvoris u istom scope-u.

Prebaci IF EXISTS iznad BEGIN TRY kao inicijalno resenje.
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

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-1.sezampro.yu.



+1 Profil

icon Re: IF EXISTS ... izadji iz procedure04.10.2008. u 15:23 - pre 189 meseci
U pravu si, nego zurim sa poslom, pa ni razmisljao nisam sta je napisao, jer sam pronsao nacin preko Scope_Identity

hvala i tebi za odgovor !
 
Odgovor na temu

[es] :: MS SQL :: IF EXISTS ... izadji iz procedure

[ Pregleda: 1807 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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