반응형
SQL Server 2008에서 테이블 별칭으로 UPDATE SQL을 작성하는 방법은 무엇입니까?
나는 매우 기본이 있습니다 UPDATE SQL
-
UPDATE HOLD_TABLE Q SET Q.TITLE = 'TEST' WHERE Q.ID = 101;
이 쿼리는 Oracle
, Derby
에서 잘 실행 MySQL
되지만 SQL Server 2008 에서는 다음 오류와 함께 실패합니다 .
"메시지 102, 수준 15, 상태 1, 줄 1 'Q'근처에 잘못된 구문입니다."
SQL에서 별명 "Q"를 모두 제거하면 작동합니다.
그러나 별칭을 사용해야합니다.
SQL Server의 업데이트 문에서 별칭을 사용하는 구문은 다음과 같습니다.
UPDATE Q
SET Q.TITLE = 'TEST'
FROM HOLD_TABLE Q
WHERE Q.ID = 101;
여기서 별명은 필요하지 않습니다.
항상 CTE (공통 테이블 형식) 접근 방식을 사용할 수 있습니다.
;WITH updateCTE AS
(
SELECT ID, TITLE
FROM HOLD_TABLE
WHERE ID = 101
)
UPDATE updateCTE
SET TITLE = 'TEST';
반응형
'Programing' 카테고리의 다른 글
IntelliJ IDEA 기본 JDK를 어떻게 변경합니까? (0) | 2020.05.15 |
---|---|
Gulp를 사용한 Concat 스크립트 (0) | 2020.05.15 |
MySQL에서 열 이름 바꾸기 (0) | 2020.05.15 |
Java List.add () UnsupportedOperationException (0) | 2020.05.15 |
Python으로 Windows에서 실행 중인지 어떻게 확인합니까? (0) | 2020.05.15 |