View Full Version : اتصال دو رشته با استفاده از default value
paladin
جمعه 28 آبان 1389, 21:02 عصر
می خواستم با استفاده از default value مقدار دو فیلد رو در یک فیلد دیگه بریزم
مثلا مقدار دو فیلد Fname و Lname رو در فیلد name بریزد . اگه با default value میشه بگید اگر نه با هر راه دیگه در sql server 2005 بگید. ممنون
حمیدرضاصادقیان
جمعه 28 آبان 1389, 21:25 عصر
سلام. شما میتونید یک تابع بنویسید در اون تابع مقدار دو فیلد رو باهم تلفیق کنید به صورت خروجی قرار بدید.
Default Value برای مواقعی هست که اگر کاربر مقداری وارد نکرد مقدار پیش فرض اون قرار بگیره. شما میتونید در قستم Furmola این تابع رو قرار بدید تا مقدار خروجی رو بهتون بده.
برای نوشتن توابع میتونید به این لینک (http://www.functionx.com/sqlserver/Lesson08.htm) مراجعه کنید.
موفق باشید
paladin
دوشنبه 01 آذر 1389, 18:57 عصر
ممنون . ولی من میخواهم که هر بار که محتویات دو فیلد اول تغییر کرد فیلد سوم نیز به روز شود . مثلا اگر First name و last name تغییر کرد name نیز تغییر کند
Reza_Yarahmadi
دوشنبه 01 آذر 1389, 22:36 عصر
خب یک ویو درست کنید که فیلد name رو بر اساس دو فیلد دیگه محاسبه کنه و جستجوها رو روی این ویو انجام بدید.
Select
FName,
Lname,
Fname + ' ' + Lname as Name
From
TableName
paladin
دوشنبه 01 آذر 1389, 22:56 عصر
ممنون اینجوری مشکلم حل میشه . ولی برای این که خودم یاد بگیرم می پرسم . اینجا می تونم از Trigger استفاده کنم ؟ اگه میشه چه جوری ؟
Reza_Yarahmadi
سه شنبه 02 آذر 1389, 07:41 صبح
ممنون اینجوری مشکلم حل میشه . ولی برای این که خودم یاد بگیرم می پرسم . اینجا می تونم از Trigger استفاده کنم ؟ اگه میشه چه جوری ؟
اگر ميخوايد اين فيلد رو ذخيره كنيد ميتونيد همون زمان Insert يا Update اين تغيير رو به همون صورت بالا اعمال كنيد و نيازي نيست تريگر براي اين كار بنويسيد. ولي توي اصول طراحي بانك هر فيلدي كه با محاسبات رو فيلدهاي ديگه قابل محاسبه است رو توي بانك ذخيره نميكنند (مگر مواقعي كه محاسبات سنگين و سرعت براي كاربر مهم باشه). براي كارهايي مثل كار شما بهترين راه استفاده از View است. در واقع View رو براي اينطور مواقع ساختند.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.