آپدیت لیستی از رکوردها در Sql Server - آپدیت گروهی اطلاعات در Sql Server
در Sql Server ما میتونیم یک لیست از اطلاعات رو به صورت همزمان و به به صورت گروهی در یک جدول ذخیره کنیم. برای این کار از دستور Select استفاده میشه.
INSERT INTO Table (col1, col2, col3)
SELECT col1, col2, col3
FROM other_table
WHERE sql = 'cool'
در قطعه کد بالا با استفاده از دستور Insert و Select یک گروه از اطلاعات رو داخل دیتابیس ذخیره می کنیم.
اما حالا من یک جدول موقت دارم که می خوام توسط اون یک گروه از رکوردها رو در جدول دیگه آپدیت کنم.
کدی که برای این کار من نوشتم مشابه کد زیر هست. اما متاسفانه به درستی این کدها کار نمیکنن.
UPDATE Table SET col1, col2
SELECT col1, col2
FROM other_table
WHERE sql = 'cool'
WHERE Table.id = other_table.id
آیا راهی هست که بشه مثل Insert به صورت گروهی رکوردها رو آپدیت هم کرد ؟ در واقع می خوام بدونم آپدیت گروهی اطلاعات در Sql Server به چه صورتی انجام میشه ؟
پاسخ هوش مصنوعی
برای آپدیت گروهی رکوردها در SQL Server، می توانیم از ترکیب دستور UPDATE با FROM استفاده کنیم. در اینجا یک مثال برای آپدیت گروهی رکوردها با استفاده از جدول موقت آورده شده است:
UPDATE t
SET t.col1 = o.col1,
t.col2 = o.col2
FROM Table AS t
INNER JOIN other_table AS o ON t.id = o.id
WHERE o.sql = 'cool'
در این کد، با استفاده از یک JOIN، دو جدول Table و other_table را به هم متصل می کنیم و فیلدهای مورد نظر را به روز رسانی می کنیم.
سلام. در حالت آپدیت باید وقتی نام ستون رو آوردید مقدار رو هم بهش بدید و بعدا برید سراغ ستون بعدی. مانند زیر عمل کنید.
UPDATE Table SET col1 = (SELECT col1 FROM other_table WHERE sql = 'cool'),
col2 = (SELECT col2 FROM other_table WHERE sql = 'cool')
WHERE Table.id = other_table.id
فقط در این حالت باید تعداد رکوردهای سلکت شده که داخل پرانتز قرار گرفته با تعداد سلکتی که در جدول اصلی قرار است آپدیت شود برابر باشد.
شما می تونید برای استفاده از دستور Select هنگام Update و یا آپدیت گروهی رکوردها در Sql Server به صورت زیر کار کنید :
UPDATE
Table_A
SET
Table_A.col1 = Table_B.col1,
Table_A.col2 = Table_B.col2
FROM
Some_Table AS Table_A
INNER JOIN Other_Table AS Table_B
ON Table_A.id = Table_B.id
WHERE
Table_A.col3 = 'cool'
دستور بالا خیلی واضح این عملیات رو نمایش داده.
موفق باشید
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- حذف کامل یک رکورد در جدول ریلیشن شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- تفاوت اوراکل و Sql Server چیست
- جابه جایی سطر و ستون در Sql Server
- استفاده از Stored Procedure در انتیتی فریم ورک code First
- دلیل پرش 1000 تایی خودکار فیلد identity در Sql server
- مشکل نمایش ندادن Data Type موقع تایپ در Sql Server
- کار با تاریخ شمسی وساعت (استفاده از توابع )
- دلیل افزایش حجم Database بعد از ری استور در هاست Plesk