sql - এসকিউএল একাধিক কলাম আপডেট করুন



এস কিউ এল কি (8)

"ক্লান্তিকর উপায়" স্ট্যান্ডার্ড এসকিউএল এবং কিভাবে মূলধারার RDBMS এটি করে।

100+ কলামের সাথে, সম্ভবত আপনার কাছে একটি ডিজাইন সমস্যা রয়েছে ... এছাড়াও, ক্লায়েন্ট সরঞ্জামগুলিতে ক্ষুদ্রীকরণ পদ্ধতি (যেমন প্রজন্মের আপডেট বিবৃতি) বা ORM ব্যবহার করে

https://src-bin.com

এসকিউএল সার্ভারে একাধিক কলাম আপডেট করার উপায় আছে কি একইভাবে একটি সন্নিবেশ বিবৃতি ব্যবহৃত হয়?

কিছুটা এইরকম:

Update table1 set (a,b,c,d,e,f,g,h,i,j,k)=
(t2.a,t2.b,t2.c,t2.d,t2.e,t2.f,t2.g,t2.h,t2.i,t2.j,t2.k)
from table2 t2
where table1.id=table2.id

অথবা এরকম কিছু, বরং এরকম:

update table set a=t2.a,b=t2.b etc 

যা 100+ কলাম থাকলে লিখতে বেশ ক্লান্তিকর হতে পারে।


Answer #1

আপনার প্রশ্নের প্রায় সঠিক। এই জন্য টি-এসকিউএল হয়:

UPDATE  Table1
SET     Field1 = Table2.Field1,
        Field2 = Table2.Field2,
        other columns...
FROM    Table2
WHERE   Table1.ID = Table2.ID

Answer #2

আমি এটি MySQL এ করেছি এবং এটি একটি একক রেকর্ডে একাধিক কলাম আপডেট করেছে, তাই আপনি যদি আপনার সার্ভার হিসাবে MySQL ব্যবহার করছেন তবে এটি ব্যবহার করুন:

"UPDATE creditor_tb SET credit_amount='" & CDbl(cur_amount) & "'
                   , totalamount_to_pay='" & current_total & "',   
        WHERE credit_id='" & lbcreditId.Text & "'". 

যাইহোক, আমি মাইএসকিউএল সার্ভার ব্যবহার করে ভিবিএনএতে কোডিং করছিলাম, তবে আপনি আপনার পছন্দের প্রোগ্রামিং ভাষাতে যতদূর আপনার মাইস্কএল ব্যবহার করছেন সেটি আপনার সার্ভার হিসাবে গ্রহণ করতে পারেন।


Answer #3

এখানে কাজ করে এমন এক

UPDATE  `table_1`
INNER JOIN 
 `table_2` SET  col1= value, col2= val,col3= val,col4= val;

মান টেবিল_2 থেকে কলাম


Answer #4

যদি আপনি এইটি বেশ কয়েকবার পুনরায় টাইপ করতে চান তবে আপনি একবার যেমন করতে পারেন ঠিক তেমন করতে পারেন। এক্সেল শীটের সারিতে আপনার কলামগুলির নামগুলি পান (ডানদিকে নোটপ্যাড ++ এ প্রতিটি কলামের নাম (=) এর শেষে লিখুন যা ডানদিকের দিকে একটি কলাম তৈরি করুন এবং আপনার মানটি নতুন এন্ট্রির সাথে সংশ্লিষ্ট করে আপনার মানটি পেস্ট করুন প্রতিটি কলাম। তারপর তাদের একটি স্বাধীন কলামে তাদের ডানদিকে কমা ডিজাইন করা হয়

তারপরে আপনাকে প্রতিটি সময় মধ্যম কলামে আপনার মানগুলি অনুলিপি করতে হবে তারপর কেবল পেস্ট করুন এবং চালান

আমি একটি সহজ সমাধান জানি না




Answer #7
update T1
set T1.COST2=T1.TOT_COST+2.000,
T1.COST3=T1.TOT_COST+2.000,
T1.COST4=T1.TOT_COST+2.000,
T1.COST5=T1.TOT_COST+2.000,
T1.COST6=T1.TOT_COST+2.000,
T1.COST7=T1.TOT_COST+2.000,
T1.COST8=T1.TOT_COST+2.000,
T1.COST9=T1.TOT_COST+2.000,
T1.COST10=T1.TOT_COST+2.000,
T1.COST11=T1.TOT_COST+2.000,
T1.COST12=T1.TOT_COST+2.000,
T1.COST13=T1.TOT_COST+2.000
from DBRMAST T1 
inner join DBRMAST t2 on t2.CODE=T1.CODE




sql-update