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

كيف اعرف ال Lenght الخاص بمتغير داخل Trigger وأعدل عليه

بدأه cdcase في 21 نوفمبر 2009 · 7 رد · 1,152 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندى Trigger بي Fire وقت التعديل على جدول ولاحظت ان رقم الموظف لو ( 001234 ) عندما يسجل داخل الجدول عن طريق ال Trigger

يسجل ( 1234 ) ويقوم بحذف ال 00 من الشمال.

كيف اعرف ال Lenght الخاص بمتغير داخل Trigger وأعدل عليه بحيث لو أقل من 6 أرقام أزيد عليه 0 او 00 حسب رقم الموظف.

تحياتى

قال رسول الله صلى الله عليه وسلم

يكبر بن أدام ويكبر معه شيئان كثرة المال وطول العمر

صدق رسول الله صلى الله عليه وسلم

قال عمر بن الخطاب رضي الله عنه

نحن قوم أعزنا الله بالإسلام فإذا إبتغينا العزة فى غيره أذلنا الله

#2

اجعل نوع حقل بيانات رقم الموظف من نوع NVarchar و انتهى الموضوع

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#3
طارق إبراهيم كتب:
اجعل نوع حقل بيانات رقم الموظف من نوع NVarchar و انتهى الموضوع

انها بالفعل كذلك

DECLARE @var1 NVarchar
SELECT @var1 = Len(deleted.EmpId)

if @var1=4 then
	@var1=00 & @var1
elseif @var1=5 then
	@var1=0 & @var1
end if

هل ينفع هذا الكود

قال رسول الله صلى الله عليه وسلم

يكبر بن أدام ويكبر معه شيئان كثرة المال وطول العمر

صدق رسول الله صلى الله عليه وسلم

قال عمر بن الخطاب رضي الله عنه

نحن قوم أعزنا الله بالإسلام فإذا إبتغينا العزة فى غيره أذلنا الله

#4

هناك دالة تستخدم في الفيجوال بيسك تدعى Val وهي تقوم بجلب القيمة الرقمية للمتغير وكنت استخدمها في الاستعلام مع الاكسس و MySQL بالطريقة الاتية :

Select * From MyTable Where Val(MyFiled)=1234

ولكن عندما جربتها في الـ SQL Server لم تنجح , ربما لها صيغة اخر لكنى لا اعرفها فانا مبتدأ في قواعد بيانات SQL Server فأرجوا من السادة المحترفين من يعرف صيغة اخرى لهذه الدالة يدلنا عليها فهي ما يحتاجه السائل بالضبط , وانا ايضا احتاجها كثيرا واتمنى ان اجدها

تم تعديل هذه المشاركة بواسطة محمد مصطفي غريب في 21 نوفمبر 2009 في 15:58

It does not matter what they know about you, but what you can do, so let your work speak of you

mmghv VB6 Programmer

#6

كيف هذا يا اخي فأنا اكتب هذه الدالة في الـ Query مع العلم اني استخدم SQL Server 2005 Express

كيف اتي بالـ Functions الخاصة بالبرنامج ومعرفة البرامترات الخاصة بها لاستخدمها , وكيف اقوم بصنع Function جديد ووضع البرامترات له

ارجوا ان توجهني اخي فانا بأشد الحاجة الي هذا الامر لاني استعمل الكثير من الدوال في الاستعلامات مع الفيجوال بيسك مثل Val - Instr - Ucase - Lcase -Mid - Right - DateSerial - Datediff - Dateadd - Len - .......

والكثير من الدوال لاصنع استعلام يفي بالغرض في اقل وقت لان عامل السرعة مهم جداً

مع العلم اني استخدم هذا الاستعلام من خلال الفيجوال بيسك , فما الذي يلزمني لصنع مثل هذه الدوال واستخدامها في الفيجوال بيسك مع الاستعلام , وعند نقل الداتا بيز من جهازي لجهاز العميل ما الذي يجب ان افعله لاستخرج هذه الدوال واضعها في جهاز العميل

ارجو ان اجد حل لسؤالي لاني مبتدأ في الـ SQL Server واجد انه افضل بكثيييير في عدة اشياء من الاكسس والـ MySQL ولكن تبقى هذه الدوال عقبة تمنعني من الاعتماد عليه كليا حتى الان

تم تعديل هذه المشاركة بواسطة محمد مصطفي غريب في 22 نوفمبر 2009 في 13:32

It does not matter what they know about you, but what you can do, so let your work speak of you

mmghv VB6 Programmer

#7
اقتباس
كيف اتي بالـ Functions الخاصة بالبرنامج ومعرفة البرامترات الخاصة بها لاستخدمها , وكيف اقوم بصنع Function جديد ووضع البرامترات له

انظر في المواضيع المثبتة في القسم لتتعرف على ال Function

وبالنسبة للاخ صاحب السؤال فمن الممكن استخدام الطريقة التالية

SELECT @var1 =right('00000' + cast(deleted.EmpId as varchar(6)),6)

حيث ستحصل في المتغير var1 على رقم من ستة خانات

#8
TareqVB كتب:
وبالنسبة للاخ صاحب السؤال فمن الممكن استخدام الطريقة التالية

SELECT @var1 =right('00000' + cast(deleted.EmpId as varchar(6)),6)

حيث ستحصل في المتغير var1 على رقم من ستة خانات

شكرا يا افندم :) وجارى تجربة الكود

قال رسول الله صلى الله عليه وسلم

يكبر بن أدام ويكبر معه شيئان كثرة المال وطول العمر

صدق رسول الله صلى الله عليه وسلم

قال عمر بن الخطاب رضي الله عنه

نحن قوم أعزنا الله بالإسلام فإذا إبتغينا العزة فى غيره أذلنا الله

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

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

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

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

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