[SQL] 어떻게 2008 SQL 서버의 테이블 별명 UPDATE SQL을 작성하는?
SQL어떻게 2008 SQL 서버의 테이블 별명 UPDATE SQL을 작성하는?
나는 아주 기본적인 UPDATE의 SQL을 -
UPDATE HOLD_TABLE Q SET Q.TITLE = 'TEST' WHERE Q.ID = 101;
이 쿼리는 오라클, 더비, MySQL의에 벌금을 실행 -하지만 SQL Server 2008의 실패 다음과 같은 오류와 함께 :
내가 별칭의 모든 항목을 제거하는 경우, SQL에서 "Q"는 다음 작동합니다.
하지만 별칭을 사용해야합니다.
해결법
-
==============================
1.다음과 같이 SQL 서버에 업데이트 문에 별칭을 사용하는 구문은 다음과 같습니다
다음과 같이 SQL 서버에 업데이트 문에 별칭을 사용하는 구문은 다음과 같습니다
UPDATE Q SET Q.TITLE = 'TEST' FROM HOLD_TABLE Q WHERE Q.ID = 101;
별명은 여기에 있지만 필요는 없습니다.
-
==============================
2.당신은 항상 접근 방식을 CTE (공통 테이블 형식의 표현)를 취할 수 있습니다.
당신은 항상 접근 방식을 CTE (공통 테이블 형식의 표현)를 취할 수 있습니다.
;WITH updateCTE AS ( SELECT ID, TITLE FROM HOLD_TABLE WHERE ID = 101 ) UPDATE updateCTE SET TITLE = 'TEST';
from https://stackoverflow.com/questions/4981481/how-to-write-update-sql-with-table-alias-in-sql-server-2008 by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL에서 시간없이 날짜를 선택하는 방법 (0) | 2020.04.29 |
---|---|
[SQL] 조건에 따라 다른 테이블의 열과 업데이트 열 값 [중복] (0) | 2020.04.29 |
[SQL] 자바 - 외부 파일에 보관 SQL 문이 [마감] (0) | 2020.04.28 |
[SQL] 행의 PostgreSQL에있는 경우 빠른 검사 (0) | 2020.04.28 |
[SQL] 어떻게 오라클에서 값 목록에서 선택할 수 있습니다 (0) | 2020.04.28 |