تمام سوالات سوالات بدون پاسخ سوال بپرسید
13

سلام من می خوام پس از درج رکورد با استفاده از برنامه مقدار فیلد id که auto هستش رو ببینم اگر امکان دارد راهنمایی بفرمایید.

4 پاسخ

15

شما میتوانید بلافاصله بعد از دستور insert میتوانید از این دستور Select استفاده نمایید تا مقادر ایجاد شده را مشاهده نمایید

SELECT scope_identity()

دقت داشته باشید که دو دستور Insert و Select باید بلافاصله پشت سرهم انجام شوند.

1

سلام با تشگر ولی در برنامه های چند کاربره امکان دارد تا شما دستور Select را اجرا کنید کاربر دیگری رکورد جدیدی را وارد کند . دراین حالت مابه مشکل برخواهیم خورد

(30 مارس '12, 18:25) sadrosadat
2

بله. این مسئله وجود دارد ولی اگر در یک تراکنش انجام گیرد SQLServer آخرین identity درج شده در این تراکنش را بر می‌گرداند. مثلا اگر این کار در یک Stored procedure انجام گیرد که تمام آن به طور پیش فرض در یک تراکنش صورت می‌گیرد می‌توانید مطمئن باشید که همان identity درج شده توسط دستور بالایی برگردانده شده است نه identity درج شده توسط کاربر دیگر.

(31 مارس '12, 06:15) ir01 ♦♦
7

به نظر من، لازم نیست حتماً بلافاصله بعد از insert دستور select اجرا شود. فقط همین که شما بدانید دستور دیگری id جدیدی در ایجاد نکرده کافیست. ضمناً توجه داشته باشیم آن طوری که در MSDN آمده، scope_identity تنها محدود به connection جاری است یعنی نه به کاربران دیگر کاری دارد و نه به تراکنش، یعنی لازم نیست شما در بند این مسایل باشید و براحتی می توانید کارتان را انجام دهید و درج های کاربران دیگر و حتی درج های همزمان خودتان در محدوده های دیگر برای نمونه در triggerها، هیچ خللی وارد نمی کنند.

(31 مارس '12, 09:15) mostafa

پیشنهاد من این است که مطالعه ای پیرامون ماده OUTPUT در T-SQL داشته باشید. با کمک این ماده می توانید بلافاصله بعد از درج، بروز رسانی و حذف داده های جدول هر مقداری از هر ستونی را که خواستید بدست آورید.

مثلا میخواهید از جدول تمام کاربران با نام علی را حذف کنید و در کنار آن بدانید که این کاربران با چه کدهایی بودن که حذف شدن (جهت Log کردن مواقع) بسادگی از این ماده میشه برای این منظور استفاده کرد.



با سلام؛ برای استفاده از انواع روش های بازگردانی Identity تولید شده در Sql Server می توانید به آدرس http://learnpro.ir/post/index/29 مراجعه نمایید. با آرزوی بهترین ها-خالصی

toggle preview



آموزش زبان برنامه نویسی C#
آموزش jquery
آموزش برنامه نویسی
آموزش طراحی وبسایت
آموزش مدیریت وبسایت
آموزش جاوا Java
آموزش پایتون Python
آموزش سی شارپ C#‎
آموزش HTML و CSS
آموزش JavaScript جاوااسکریپت
آموزش jQuery جی کوئری
آموزش ساخت ربات تلگرام
آموزش برنامه‌نویسی PHP
آموزش برنامه‌نویسی اندروید
● آموزش‌های رایگان

سوالات مرتبط

راهنمای استفاده از ویرایشگر
  • *ایتالیک*‌ یا __ایتالیک__
  • **ضخیم** یا __ضخیم__
  • آدرس:[متن](http://url.com/ "عنوان")
  • عکس?![alt متن](/path/img.jpg "عنوان")
  • لیست عددی: 1. Foo 2. Bar
  • برای رفتن به خط بعد، هر جا مایلید که خط جدید شروع شود دو کاراکتر فاصله (space) قرار دهید
  • تگ‌های ساده HTML هم پشتیبانی می‌شوند

تگها:
  • ×209
  • ×48
  • ×41
  • ×12
  • پرسیده شده: 30 مارس '12, 11:18
  • بازدید: 6,488 بار
  • آخرین بروزرسانی: 03 ژانویه '16, 01:06

این سوال را دنبال کنیدتوسط ایمیل: ایمیل شما (باید معتبر باشد, هرگز به دیگران نمایش داده نمیشود):

هنگامی که شما به سیستم وارد شوید،قادر خواهید بود برای بروز رسانی ها مشترک شوید.


توسط RSS:

پاسخها

پاسخها و نظرها