PDA

View Full Version : تفاوت دو محموعه زیر در چیست؟ Insert



SaeidMirzaei
چهارشنبه 14 تیر 1391, 17:14 عصر
First Set>>


Insert Item(Title)
Values(N'Table')

Insert Item(Title)
Values(N'Desk')

Insert Item(Title)
Values(N'Chair')

Second Set>>


Insert Item(Title)
Values(N'Table'),
Values(N'Desk'),
Values(N'Chair')

حمیدرضاصادقیان
چهارشنبه 14 تیر 1391, 19:25 عصر
سلام.
هيچ تفاوتي ندارند فقط مورد دوم قابليت جديدي هست كه در نسخه 2008 بوجود اومده و كد خواناتر و كوتاهتر ميشه

SaeidMirzaei
دوشنبه 19 تیر 1391, 01:35 صبح
سلام.
هيچ تفاوتي ندارند فقط مورد دوم قابليت جديدي هست كه در نسخه 2008 بوجود اومده و كد خواناتر و كوتاهتر ميشه


سلام ،
ممنون از راهنمایی شما
ولی یبشتر از این راهنمایی می خوام!
مربوط میشه به Transaction ها که مجموعه دوم در یک Transaction انجام میشه ولی کلا چیزی راجع به Transaction و مباحث آن نمی دانم!
اگر امکان داره بیشتر راهنمایی کنید !

با تشکر از شما

حمیدرضاصادقیان
دوشنبه 19 تیر 1391, 09:05 صبح
خوب ببینید یک Transaction در واقع مجموعه ای از دستورات یا یک دستور هست که یا حتما انجام میشه یا به هر علتی که خطایی رخ بده صورت نمیگیره.
در حالت اول برای هر Insert یک دستور هست که ممکنه دوتای اونها انجام بشه و یکی خطا بده در این صورت فقط اونی که خطا داده انجام نمیشه.البته در صورتی که داخل یک Transaction نباشند.
برای ایجاد یک Transaction قبل از دستورات از Begin Tran و انتهای همه دستورات از Commit Tran یا Rollback استفاده میکنند.
درحالت دوم اولا نیازی نیست برای هر خط یک Values بنویسید و با یک , میتوان مقادیر رو ازهم جداکرد. یعنی به جای هر Values یک , بذارید کافیه.
دوم اینکه این دستور کلا در یک Transaction صورت گرفته و کلا یا انجام میشه یا نمیشه و مثل دستور قبل نیست.
چون در یک دستور واحد قرار گرفته.
به جز این دستور Values در نسخه 2008 کاربرد جدیدی داره که ازش میشه به عنوان یک Virtual Table نیز در داخل یک Select ازش استفاده کرد.