21-04-2016, 08:48 AM
|
#1
|
|
|
• الانـتـسـاب » Mar 2015
|
|
• رقـم العـضـويـة » 121135
|
|
• المشـــاركـات » 47
|
|
• الـدولـة » Alexandria
|
|
• الـهـوايـة » SQL Coding
|
|
• اسـم الـسـيـرفـر » Private Server
|
|
• الـجـنـس » Male
|
|
• نقـاط التقييم » 10
|
|
|
|
اقتباس:
المشاركة الأصلية كتبت بواسطة HLP
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
انا عامل سيستم ده من زمان اول لما كونت لسه بتعلم بس معنديش وقت اني اعيد صياغة برسيدور
علي فكرة انا ممكن اعملك برسيدور في كام سطر بطريقة ممتازة اتفضل
كود PHP:
USE [SRO_VT_SHARDLOG] GO /****** Object: StoredProcedure [dbo].[_NewChangeSystem] Script Date: 21/04/2016 06:22:45 ص ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[_NewChangeSystem] @Charid int, @Operation tinyint, @ItemRefid int AS DECLARE @IID int ,@RefID int ,@InvID int ,@Type varchar(50) = NULL ,@ID int ,@ID1 int ,@NID int ,@Gender varchar(8) ,@DG varchar(50) ,@ItemID int , @Slot int set @Slot = '6' IF @ItemRefID = '42099' set @Type ='Sword' IF @ItemRefID = '42100' set @Type ='blade' IF @ItemRefID = '42101' set @Type ='Spear' IF @ItemRefID = '42102' set @Type ='TBALDE' IF @ItemRefID = '42103' set @Type ='Bow' IF @ItemRefID = '42107' Set @Type = 'Dagger' IF @ItemRefID = '42108' Set @Type = 'Xbow' IF @ItemRefID = '42109' Set @Type = 'Axe' IF @ItemRefID = '42110' Set @Type = '1Hand' IF @ItemRefID = '42111' Set @Type = '2Hand' IF @ItemRefID = '42112' Set @Type = 'Tstaff' IF @ItemRefID = '42113' Set @Type = 'Staff' IF @ItemRefID = '42114' Set @Type = 'DarkStaff' IF @ItemRefID = '42115' Set @Type = 'harp'
SELECT @ItemID=I.ID64 , @RefID = I.RefItemID FROM SRO_VT_SHARD.dbo._Items I INNER JOIN SRO_Vt_SHARD.dbo._Inventory Iv ON I.ID64 = Iv.ItemID WHERE Iv.Slot = @Slot AND Iv.CharID = @CharID
select @ID = ID ,@DG = DG , @Gender = Gender FROM SRO_VT_SHARDLOG.dbo._SystemChangeByHLP WITH(NOLOCK) where ID = @RefID
Select @NID = ID FROM SRO_VT_SHARDLOG.dbo._SystemChangeByHLP WITH(NOLOCK) WHERE TYPE = @Type and Gender = @Gender AND DG = @DG
IF (@ItemRefID Between 42099 and 42103 ) and (@Operation = 41) Begin IF @RefID =@ID begin Update SRO_VT_SHARD.._Items Set RefItemID=@NID,CreaterName='HLP' Where ID64 = @ItemID END end
شكرا علي رايك
|
انا زى مقولتلك انا مبقولكش كدة تقليل منك ولا حاجة انا عندى اعتراف بان كل واحد بيبقى بكرة احسن انا نفسى كنت كدة عادى وهفضل كدة يعنى مستوايا انهاردة عمره مهيكون نفس مستوايا كمان سنة مثلا وانك مثلا تنزل بروسيدر زى ده وانت عارف اد ايه هو فيه عك سعتها انت هتكون بتدور نفسك لان مثلا المبتداء فى ال SQL هيقولك عشان طلاما السيستم شغال لاكن الفاهم ياما يرد وينتقدك وممكن الطريقة متعجبكش يا اما هياخد فكرة عنك وحشة فمتدقش من انى انتقدتك ونصيحة اخيرة هو انا مقرتش البروديسر بالنفصيل بس بدل ما تشتغل ب IF @XXXX SET @XXXX=كذااا اشتغلها ب WHEN و THEN احسن تقبل مرورى وسواء خدت بالنصيحة او لا حاجة ترجعلك وتحترم على ردك وحاول تهتم بال Performance على قد متقدر لان مش صعب انك تعمل سيستم او كدة لحد فاهم قد م صعب انك تعمله ب Performance عالية
|
|
|
التعديل الأخير تم بواسطة Storxy* ; 21-04-2016 الساعة 08:50 AM
|