PDA

View Full Version : فیلد ( Identity + تعدادی کاراکتر ) در درون فیلد Identity آیا می شود ؟



Sal_64
دوشنبه 01 تیر 1394, 09:30 صبح
سلام وقت بخیر
بنده فیلدی دارم که Identity تعریف شده سوالم اینه آیا می شود همزمان با درج رکورد و پر شدن این فیلد به صورت خودکار مقدار کاراکتری هم به آن اضافه شود ؟؟
و
اگر اینکار غیرممکن است چگونه همزمان با درج رکورد جدید بتوان محتوای فیلد Identity را گرفت ودر فیلد دیگری با انضمام آن تعداد کاراکتر ثابت درج نمود ؟



تشکر

pezhvakco
دوشنبه 01 تیر 1394, 10:21 صبح
این فیلد به صورت خودکار مقدار کاراکتری هم به آن اضافه شود ؟؟
خیر

در فیلد دیگری با انضمام آن تعداد کاراکتر ثابت درج نمود ؟
یک روشش کار با Triggers است

cherchil_hra
دوشنبه 01 تیر 1394, 15:04 عصر
سلام وقت بخیر
بنده فیلدی دارم که Identity تعریف شده سوالم اینه آیا می شود همزمان با درج رکورد و پر شدن این فیلد به صورت خودکار مقدار کاراکتری هم به آن اضافه شود ؟؟
و
اگر اینکار غیرممکن است چگونه همزمان با درج رکورد جدید بتوان محتوای فیلد Identity را گرفت ودر فیلد دیگری با انضمام آن تعداد کاراکتر ثابت درج نمود ؟



تشکر

شما می توانید از Computed Column استفاده کنی لینک (https://msdn.microsoft.com/en-us/library/ms188300.aspx)
داخلش می توانید از توابع هم استفاده کنید

Sal_64
یک شنبه 07 تیر 1394, 20:47 عصر
خیر

یک روشش کار با Triggers است

سلام
تشکر
خب الان ارسال پارامتر به تریگر خودش موضوع دیگه ای !
و نکته بعد اینکه مثلا در تریگر insert
دستور آپدیت گذاشته شود ،چطور بهش بفهمونیم که آخرین id که اضافه شده برگردونه
و اون id با کارکتر ثابت در فیلد مربوطه اضافه شود

Sal_64
یک شنبه 07 تیر 1394, 20:49 عصر
شما می توانید از Computed Column استفاده کنی لینک (https://msdn.microsoft.com/en-us/library/ms188300.aspx)
داخلش می توانید از توابع هم استفاده کنید

سلام
تشکر
اینطور که برداشت کردم این یک فیلد محاسباتی ایجاد میکنه ، اما بنده قصد دارم همون فیلد id به varchar تبدیل کنم و دو رشته بهم بچسبونم
که با این نوع فیلد موفق به انجامش نشدم

cherchil_hra
شنبه 20 تیر 1394, 13:48 عصر
به عنوان مثال توی قسمت فرمول :
CAST(id AS VARCHAR(5))+'-'+ fn_MyCharachter()

fn_MyCharachter تابعی که شما نوشتی و به شما یک مقدار کاراکتری بر می گرداند.
حالا هر رکوردی که ایجاد بشه، رشته کاراکتر شما ایجاد میشه.

tooraj_azizi_1035
شنبه 20 تیر 1394, 14:31 عصر
سلام


CREATE TABLE dbo.YourTable
(ID INT IDENTITY(1,1),
EmpID AS 'emp_' + CAST(ID AS VARCHAR(10)) PERSISTED,
......
)