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
'IT' 카테고리의 다른 글
"long long"= "long long int"= "long int long"= "int long long"입니까? (0) | 2020.06.10 |
---|---|
오류 1044 (42000) : ''@ 'localhost'사용자가 데이터베이스 'db'에 대한 액세스가 거부되었습니다. (0) | 2020.06.10 |
Android SSL 연결에 대한 신뢰 앵커를 찾을 수 없습니다 (0) | 2020.06.10 |
URL에서 Bower와의 종속성 설치 및 버전 지정 (0) | 2020.06.10 |
C ++ valarray vs. 벡터 (0) | 2020.06.10 |