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

upravljenje greskama u storage procedurama

[es] :: MS SQL :: upravljenje greskama u storage procedurama

[ Pregleda: 335 | Odgovora: 3 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sparc
Sladjan Parc

Član broj: 65760
Poruke: 33
91.150.127.*



Profil

icon upravljenje greskama u storage procedurama31.01.2008. u 09:27

Imama sledecu storage proceduru


ALTER PROCEDURE [dbo].[PreuzmiRadniNalog]
-- Add the parameters for the stored procedure here
@rNalId varchar(20)
AS
BEGIN
DECLARE @ErrNo as int,
@ErrMsg as VarChar(255)
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
-- SET NOCOUNT ON;

-- Insert statements for procedure here

If (SELECT DatumZav FROM RadniNalozi
WHERE rNalId = @rNalId) = null
BEGIN
SET @ErrNo = 50001
SET @ErrMsg = 'Neispravni podaci iz navedenog Radnog Naloga'
GOTO Rais_Error
END


Rais_error:
RAISERROR @errno @errmsg
--ROLLBACK TRANSACTION

END


kada probam da je izvrsim gde je uslov = true javlja mi sledecu gresku,
da li zna neko kako upravljati porukama kroz stored proceduru

Msg 2732, Level 16, State 1, Procedure PreuzmiRadniNalog, Line 29
Error number 0 is invalid. The number must be from 13000 through 2147483647 and it cannot be 50000.
31.01.2008. u 09:27 

Fedya
Fedor Hajdu
Senior Software Engeneer, Ammado Internet Services
Dublin // Novi Sad

Član broj: 28246
Poruke: 561
...vl-edge-dnevnik.neobee.net.

Jabber: fedya@elitesecurity.org
Sajt: www.ammado.com


Profil

icon Re: upravljenje greskama u storage procedurama31.01.2008. u 09:53
Nisam se udubljivao u tvoj kod tako da ne znam da li je ovo resenje, ali je definitivno problem - ono sto je ocigledno je da si proveravao da li je nesto jednako NULL. To u SQL-u ne mozes da uradis. Moras proveravati IS NULL ili IS NOT NULL.

Edit: Evo sad sam malo bolje pogledao. Problem je sto ti IF nikad nece biti TRUE iz gore navedenog razloga, i kada dodje do labele rais_error: tebi je @errno = 0
while ( ! ( succeed = try() ) );
31.01.2008. u 09:53 

Fedya
Fedor Hajdu
Senior Software Engeneer, Ammado Internet Services
Dublin // Novi Sad

Član broj: 28246
Poruke: 561
...vl-edge-dnevnik.neobee.net.

Jabber: fedya@elitesecurity.org
Sajt: www.ammado.com


Profil

icon Re: upravljenje greskama u storage procedurama31.01.2008. u 10:18
IF NOT EXISTS (SELECT DatumZav FROM RadniNalozi WHERE rNalId = @rNalId)
BEGIN
...
END
while ( ! ( succeed = try() ) );
31.01.2008. u 10:18 

sparc
Sladjan Parc

Član broj: 65760
Poruke: 33
91.150.127.*



Profil

icon Re: upravljenje greskama u storage procedurama31.01.2008. u 10:19
Hvala, jedan glupi previd,
da bi i drugima bilo jasnije
pre rais_error: treba staviti RETURN i ne bi javljao gresku ako propadne kroz IF
31.01.2008. u 10:19 

[es] :: MS SQL :: upravljenje greskama u storage procedurama

[ Pregleda: 335 | Odgovora: 3 ]

Postavi temu Odgovori

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