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

كيفية عمل قيمة افتراضية - معادلة

مغلق
بدأه activeman في 11 أبريل 2007 · 2 رد · 540 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انشأت جدول مكون من عمودين

1 - الاسم - Varchar

2- الرقم - Varchar

--------

واود عمل قيمة افتراضية للرقم بحيث تكون معادلة أو Function ..

المعادلة عملتها بنجاح وهي تقوم بارجاع قيمة نصية من الحرف الاول + تاريخ الميلاد

المطلوب كيف اربطها بحقل الرقم مباشرة بحيث بمجرد اضافة الاسم تخزن الرقم اللي بالمعادلة.

--------------------------------

بارك الله فيكم

#2

أهلين ،

عن العمامود يلي بدك تستدعي الـ Function عنده لازم تستخدم AS و بعدين اسم المالك و اسم الـ Function

هذا مثال على هذا الموضوع

علما أنه تم التطرق لهذا الأمر في الماضي

--	Created by Zayed, 11/4/2007 
--	Have Fun

Create Function xReturn 
(
	@FName VarChar ( 20 ) , 
	@Birthdate DateTime 
)
Returns VarChar ( 20 ) 
AS Begin Declare @xRV VarChar ( 20 ) 

	Set @xRV = SubString ( @FName , 1 , 1 ) 
	Set @xRV = @xRV + '_' + Convert ( VarChar , @Birthdate , 103 ) 

	Return @xRV 
End
Go 

Create Table xRetFun 
(
	xId AS dbo.xReturn ( xName , xBirthdate ) , 
	xName VarChar ( 20 ) , 
	xBirthdate DateTime 
)
Go 

Insert Into xRetFun ( xName , xBirthDate ) 
Values ( 'Ahmad' , Convert ( DateTime , '8/9/1988' , 103 ) )
Go 

Insert Into xRetFun ( xName , xBirthDate ) 
Values ( 'Khaled' , Convert ( DateTime , '3/9/1988' , 103 ) ) 
Go 

Insert Into xRetFun ( xName , xBirthDate ) 
Values ( 'Lama' , Convert ( DateTime , '9/9/1988' , 103 ) )
GO 

Select * From xRetFun

علما أنه طريقتك في اختيار Primary Key غير موفق لأنه في احتمال أن يتككرر الحرف الأول و تاريخ الولادة

سلام

#3

شكر لك اخي الكريم وبارك الله فيك.

بس سؤال كيف اعمل الربط وليس الفنكشن من الجدول

لاني انا متعود استخدم Defaultvalue ولكن يقولي الفنكشن مو مزبوطة

هل مفروض احطها بالديفلت ام بالColumn calculated؟؟ وحياك الله :):)

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

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

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

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

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

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