الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤالكيف يتعامل Trigger في حالة تزامن الادخال

مغلق
بدأه NiceyFriend في 13 مايو 2006 · 5 رد · 769 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

تحية طيبة

عندي سؤال يحتاج الى راي استشاري ، فأرجوا ممن لديه الجواب الصحيح ان يرشدني اليه

سؤالي ايها الاخوة ال Trigger الموجود على احد الجداول اذا تزامن ادخال بيانات على هذا الجدول من اكثر من مستخدم بنفس اللحظة ، فهل جملة

Select * FROM INSERTED

لكل حركة على حدا ، ام يعرض كل الحركات سويا

يعني بشكل اخر هل TRIGGER ينطلق لكل المستخدمين الذين تزامن ادخالهم مرة واحدة ام ينطلق مرات بعدد الحركات التي ادخلت

ارجوا ان يكون سؤالي واضح لانه يحتاج الى اجابة دقيقة

ولكم الشكر

#2

يتم تفعيل القادح لكل ادخال و حسب زمن الإدخال و بالإعتماد على المناقلات

سلام

#3

شكرا لمرورك

لكن هل يشتغل مرة واحدة عند مرور عمليتين بنفس اللحظه ام مرتين (لكل عملية على حدى)

#4

مرتين

سلام

#5

يا ترى ممكن توضح بمثال ؟

#6

إذا قمنا بفتح أربع نوافذ في Query Analyzer

خلينا نكتب في كل نافذة التعليمات الخاصة بها

في الأولى

Use MYDB
Go

--	Create T1 and Tri1 for Transaction and Triger

Create Table T1
(
	Num Int Identity ( 1 , 1 ) , 
	Number Int ,
	Name VarChar ( 40 ) ,
	EnterTime DateTime Default GetDate () 
)
Go

Create Trigger Tri1_T1
On
	T1
After Insert
AS
Begin
	Declare @X Int 
	Set @X = Round ( Rand () * 1000 , 0 ) 

	Insert Into T1 ( Number , Name , EnterTime ) 
	Select
		@X , I.Name , I.EnterTime 
	From
		Inserted I
End
Go

الثانية

Waitfor Time '10:15:20'

Insert Into T1 ( Name ) 
Values
(
	'This is Insert from UnTitled 2'
)

الثالثة

Waitfor Time '10:15:20'

Insert Into T1 ( Name ) 
Values 
(
	'This is Insert from UnTitled 3'
)

لاحظ الوقت و أيضا نفذ التعليمات في النافذة الثانية أولا

و ثم نفذ التعليمات في النافذة الثالثة ثانيا

اختار وقت متقدم بدقيقة عن الوقت الحالي

الرابعة

Select * From T1

و هذه هي النتيجة

Num		 Number	  Name									 EnterTime											  
----------- ----------- ---------------------------------------- ------------------------------------------------------ 
1		   NULL		This is Insert from UnTitled 2		   2006-05-21 10:15:20.000
2		   169		 This is Insert from UnTitled 2		   2006-05-21 10:15:20.000
3		   NULL		This is Insert from UnTitled 3		   2006-05-21 10:15:20.013
4		   168		 This is Insert from UnTitled 3		   2006-05-21 10:15:20.013

جرب نفذ النافذة الثالثة ثم النافذة الثانية

و شوف شو بيصير معك

سلام

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…