IT

SQL에서 여러 열 업데이트

lottoking 2020. 6. 10. 07:56
반응형

SQL에서 여러 열 업데이트


insert 문을 사용하는 것과 같은 방식으로 SQL Server에서 여러 열을 업데이트하는 방법이 있습니까?

다음과 같은 것 :

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 개 이상의 열이 있으면 작성하기가 번거로울 수 있습니다.


"열심 한 방법"은 표준 SQL이며 주류 RDBMS가 수행하는 방법입니다.

100 개 이상의 열을 사용하면 디자인 문제가 발생할 가능성이 높습니다. 또한 클라이언트 도구 (예 : UPDATE 문 생성) 또는 ORM을 사용하여 완화 방법이 있습니다.


이 시도:

UPDATE table1 
SET a = t2.a, b = t2.b, .......
FROM table2 t2
WHERE table1.id = t2.id

Oracle을 제외한 대부분의 SQL 방언에서 작동합니다.

그리고 그렇습니다-많은 타이핑이 있습니다-SQL 이하는 방식입니다.


Update table1 set (a,b,c) = (select x,y,x)구문은 행 값 생성자를 사용하는 예이며 Oracle은이를 지원 하지만 MSSQL 은이를 지원 하지 않습니다. ( 연결 항목 )


귀하의 질문은 거의 정확합니다. 이에 대한 T-SQL은 다음과 같습니다.

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

통사론

UPDATE table-name 
SET column-name = value, column-name = value, ...
WHERE condition


UPDATE school
SET course = 'mysqli', teacher = 'Tanzania', student = 'you'
WHERE id = 6

   UPDATE t1 
    SET 
    t1.a = t2.a,
    t1.b = t2.b,
    .
    .
    .


    FROM 
    table1 t1 
    INNER JOIN table2 t2 ON  t1.id=t2.id

당신은 이것을 시도 할 수 있습니다


나는이 방법으로 시도하고 잘 작동했다.

UPDATE 
  Emp
SET 
  ID = 123, 
  Name = 'Peter' 
FROM 
  Table_Name

다음은 작동하는 것입니다.

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

value는 table_2의 열입니다.


이것을 여러 번 다시 입력해야하는 경우 한 번 수행 한 것처럼 수행 할 수 있습니다. 열의 이름을 Excel 시트의 행으로 가져 오십시오 (오른쪽의 메모장 열에서 쉬운 각 열 이름 (=) 끝에 적어 두십시오)은 새 항목에 해당하는 값을 복사하여 붙여 넣습니다. 각 열. 그런 다음 독립 열에서 오른쪽에 디자인대로 쉼표를 넣으십시오.

그런 다음 매번 값을 중간 열에 복사 한 다음 붙여 넣기 한 다음 실행해야합니다.

나는 더 쉬운 해결책을 모른다


MySql 에서이 작업을 수행하고 단일 레코드의 여러 열을 업데이트 했으므로 MySql을 서버로 사용하는 경우 시도하십시오.

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

However, I was coding in vb.net using MySql server, but you can take it to your favorite programming language as far as you are using MySql as your server.


UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

http://www.w3schools.com/sql/sql_update.asp


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

참고URL : https://stackoverflow.com/questions/9079617/update-multiple-columns-in-sql

반응형