با سلام
من میخوام داخل 1 جدول 3 فیلد من بصورت خودکار باشن
یکی از فیلدهام ID جدول هست
دومی و سومی فیلدهای مثلا شماره حساب و شماره کارت هستن که میخوام بصورت خودکار تولید بشن
اما هر کاری میکنم نمیشه
لطفا کمک کنید
با سلام
من میخوام داخل 1 جدول 3 فیلد من بصورت خودکار باشن
یکی از فیلدهام ID جدول هست
دومی و سومی فیلدهای مثلا شماره حساب و شماره کارت هستن که میخوام بصورت خودکار تولید بشن
اما هر کاری میکنم نمیشه
لطفا کمک کنید
فكر نميكنم درست باشه كه شماره حساب و شماره كارت بصورت خودكار افزايش پيدا كنه.
راه حل من استفاده از تريگر يا پروسيجر هاست
میشه راهنمایی کنید چطور باید پروسیجرش رو بنویسم؟
اصلا میشه 3 تا فیلد از نوع int در یک جدول بصورت خودکار باشند؟
1- برای آتونامبر کردن یک فیلد بصورت زیر عمل می کنی:
right click on a table> select Design
در سمت راست قسمت identity column اون فیلدی رو که می خوای خودش پر بشه رو انتخاب می کنی. که معمولا کلید اصلی رو آتونامبر می گیرن
برای دو ستون حساب کاربری که قبلا در جدولی ذخیره شده و من اسمش رو می ذارم A. اگر از قبل جایی ذخیره شده، کافیست کلید اصلی جدول A را در این جدول ذخیره کنید. و هنگام نیاز به جدول A مراجعه کنید. (عرف کار اینه، چون می گی می خوای خودش پر بشه، پس یعنی قبلا نوشته شده )
بنظرم این جدولت یه خورده غیر ضروریه. می شه بهم بگی با ذخیره مجدد اطلاعاتی که یک بار ثبت شده ، می خوای چه استفاده ای ازش بکنی؟؟؟
برای اینکه خودش خودکار پر بشه نیاز به یه شرط یا مقدار هست که بشه دستور insert رو نوشت
نه جدول حساب کاربری من جدا نیست
ببینید من یک جدول دارم با فیلد های زیر :
ID,name,family,shomare_hesab,shomare_card
در این جدول id کلید اصلی و به صورت خودکار یکی یکی اظافه میشه
ولی سوالم اینه که دو فیلد دیگه چطور باید مقدار دهی شن که تکراری نباشند (shomare_hesab,shomare_card)؟؟؟؟
میخوام این 2 فیلد هم موقع درج 1 واحد اظافه بشن مثل ID؟؟؟؟؟؟؟؟؟؟؟؟
بذار ترجمه کنم که چی داری می گی!
داری می گی فیلد شماره حساب یک مقدار نامعتبر در دنیای واقعی هستش که فقط می خوای مثل کلید اصلی باشه. در نتیجه همیشه مقدار کلید با این دو تا برابره.
در این صورت کافیه: اول فیلد شماره حساب رو انتخاب کن . در پراپرتی پایین صفحه identity specification رو باز کن. مقدار IsIdentity رو yes کن.
حالا با هر insert خودش پر می کنه.
امیدوارم متوجه باشی که کارت خیلی غیر منطقیه. چون شماره حسابها خودشون بصورت خودکار و یکی یکی اضافه نمی شن
پس اگه میشه راهنمایی کنید چطوری شماره حساب تولید کنم؟
جدولش جدا باشه؟؟
نه نیاز نیس جدولش جدا باشه
نحوه تولید یک شماره حساب بستگی به بانک داره که شرط و شروط ممکنه بذارن. مثلا شماره شبا از شماره سپرده گرفته شده.
کار خاصی نداره مثل ساختن رمز می مونه ولی شما چک می کنی آیا این حساب قبلا توسط شما ایجاد شده یا نه.
دستور EXISTS در sql چک می کنه آیا وجود داره یا نه.
مثال:
IF NOT EXISTS (SELECT 1 FROM dbo.[saveError] WHERE num= @e AND spName= @sp )
BEGIN
INSERT INTO dbo.[saveError] (num,spName,info)
VALUES(@e,@sp, @info )
END
در خط if می گم اگر وجود نداشت بیا اضافه کن.
اینطوری مقدار تکراری نداریم
مرسی دستتون درد نکنه