Autor | Zpráva | ||
---|---|---|---|
leorond Profil |
Ahoj, mám tu problém s několika stored procedurami, stále mi to háže tu samou chybu ale jsem naprostý začátečník v tomto odvětví. Mohl by mi někdo pomoci to opravit? Nevím zda jsem to napsal správně.
USE [MuOnline] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER Procedure [dbo].[WZ_PeriodItemInsert] @userGuid int, @CharacterName varchar(10), @ItemCode int, @OptiOnType tinyint, @EffectType1 tinyint, @EffectType2 tinyint, @TotalUsePeriod int, @ExpireDate varchar(20) AS BEGIN DECLARE @ErrorCode int DECLARE @periodItemIndex int SET @ErrorCode = 0 SET @periodItemIndex = 0 SET XACT_ABORT ON SET NOCOUNT ON BEGIN TRANSACTION SELECT @periodItemIndex = PeriodIndex FROM T_PeriodItem_Info WHERE UserGuid = @userGuid AND CharacterName = @CharacterName AND OptionType = @OptiOnType AND UsedInfo = 1 --IF ( @periodItemIndex != 0 ) --BEGIN -- UPDATE T_PeriodItem_Info SET UsedInfo = 0 WHERE UserGuid = @userGuid AND CharacterName = @CharacterName AND OptionType = @OptiOnType AND UsedInfo = 1 --END INSERT INTO T_PeriodItem_Info (UserGuid, CharacterName, ItemCode, OptionType, EffectType1, EffectType2, LeftTime, BuyDate, ExpireDate, UsedInfo) VALUES ( @userGuid, @CharacterName, @ItemCode, @OptiOnType, @EffectType1, @EffectType2, @TotalUsePeriod, GETDATE(), @ExpireDate, 1 ) IF( @ERROR <> 0 ) BEGIN SET @ErrorCode = 2 END IF ( @ErrorCode <> 0 ) ROLLBACK TRANSACTION ELSE COMMIT TRANSACTION SELECT @ErrorCode SET NOCOUNT OFF SET XACT_ABORT OFF END Msg 137, Level 15, State 2, Procedure WZ_PeriodItemInsert, Line 35 Must declare the scalar variable "@ERROR". Děkuji za pomoc a prosím kdyby jste mi tu opravu mohli trošku přiblížit kde jsem vlastně udělal chybu. |
||
Zechy Profil |
#2 · Zasláno: 29. 1. 2016, 17:16:28
leorond:
„ IF( @ERROR <> 0 ) “
Zřejmě si smazal něco co si neměl (nebo ti, od koho pochází SQL skripty pro server fily), co si pamatuji, tak WebZeni v té funkci mají ještě by default definovanou proměnou @ERROR, která tam právě není. A doporučil bych naučit se chápat chybové hlášky, nejsou tam pro srandu :-). |
||
leorond Profil |
#3 · Zasláno: 29. 1. 2016, 18:13:26
Krásně napsáno ale není to pravda, pokud se podíváš tak je tam chyba a to
„IF( @ERROR <> 0 )“ má tam být @@
|
||
Časová prodleva: 7 let
|
0