در 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 به چه صورتی انجام میشه ؟
سلام. در حالت آپدیت باید وقتی نام ستون رو آوردید مقدار رو هم بهش بدید و بعدا برید سراغ ستون بعدی. مانند زیر عمل کنید.
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'
دستور بالا خیلی واضح این عملیات رو نمایش داده.
موفق باشید
تاریخ :
1399/11/25
- ساعت :
11:22:00 AM
- بازدید :
3896
- پاسخ :
2
|
تاریخ :
1399/09/04
- ساعت :
06:18:00 PM
- بازدید :
6641
- پاسخ :
2
|
تاریخ :
1403/10/07
- ساعت :
03:12:00 PM
- بازدید :
333
- پاسخ :
2
|
تاریخ :
1403/09/06
- ساعت :
09:51:00 PM
- بازدید :
383
- پاسخ :
2
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1343
- پاسخ :
1
|
تاریخ :
1400/08/02
- ساعت :
02:35:00 PM
- بازدید :
2731
- پاسخ :
1
|
تاریخ :
1403/01/15
- ساعت :
04:12:00 PM
- بازدید :
981
- پاسخ :
2
|
تاریخ :
1401/12/09
- ساعت :
02:00:00 AM
- بازدید :
1341
- پاسخ :
0
|
تاریخ :
1402/10/18
- ساعت :
10:45:00 PM
- بازدید :
855
- پاسخ :
2
|
تاریخ :
1402/08/18
- ساعت :
08:43:00 AM
- بازدید :
1542
- پاسخ :
0
|
تاریخ :
1404/01/07
- ساعت :
05:02:00 AM
- بازدید :
89
- پاسخ :
1
|
تاریخ :
1402/04/28
- ساعت :
09:04:00 PM
- بازدید :
1314
- پاسخ :
0
|
تاریخ :
1403/12/30
- ساعت :
06:43:00 PM
- بازدید :
66
- پاسخ :
1
|
تاریخ :
1398/08/23
- ساعت :
09:16:00 PM
- بازدید :
9852
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
12:18:00 PM
- بازدید :
38
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
10:39:00 AM
- بازدید :
45
- پاسخ :
1
|
تاریخ :
1404/01/02
- ساعت :
05:05:00 PM
- بازدید :
60
- پاسخ :
1
|
تاریخ :
1403/12/30
- ساعت :
06:52:00 PM
- بازدید :
48
- پاسخ :
1
|
تاریخ :
1399/06/04
- ساعت :
02:25:00 PM
- بازدید :
4419
- پاسخ :
2
|
تاریخ :
1403/11/30
- ساعت :
10:36:00 AM
- بازدید :
202
- پاسخ :
2
|