테이블 SQL 서버의 상위 1개 레코드 업데이트
내 쿼리
UPDATE TOP (1) TX_Master_PCBA
SET TIMESTAMP2 = '2013-12-12 15:40:31.593'
WHERE SERIAL_NO IN ('0500030309')
ORDER BY TIMESTAMP2 DESC
와 함께serial_No
열 위치TX_Master_PCBA
표 나는 10개의 레코드를 가지고 있지만 나는 최신 정보를 업데이트하고 싶습니다.TIMESTAMP2
현재 날짜로 변경합니다.
위의 쿼리는 오류를 던지고 있습니다.
'TOP' 키워드 근처의 구문이 잘못되었습니다.
WITH UpdateList_view AS (
SELECT TOP 1 * from TX_Master_PCBA
WHERE SERIAL_NO IN ('0500030309')
ORDER BY TIMESTAMP2 DESC
)
update UpdateList_view
set TIMESTAMP2 = '2013-12-12 15:40:31.593'
허용된 카필의 답변에는 결함이 있으며, 실제 상위 1개 쿼리가 아닌 동일한 타임스탬프로 사용할 수 있는 레코드가 2개 이상 있으면 두 개 이상의 레코드를 업데이트합니다.
;With cte as (
SELECT TOP(1) email_fk FROM abc WHERE id= 177 ORDER BY created DESC
)
UPDATE cte SET email_fk = 10
RefRemus Rusanu Ans:- SQL 업데이트 상위 1행 쿼리
UPDATE TX_Master_PCBA
SET TIMESTAMP2 = '2013-12-12 15:40:31.593',
G_FIELD='0000'
WHERE TIMESTAMP2 IN
(
SELECT TOP 1 TIMESTAMP2
FROM TX_Master_PCBA WHERE SERIAL_NO='0500030309'
ORDER BY TIMESTAMP2 DESC -- You need to decide what column you want to sort on
)
언제TOP
와 함께 사용됩니다.INSERT
,UPDATE
,MERGE
또는DELETE
참조된 행은 순서대로 배열되지 않으며 ORDER BY 절은 이 문에서 직접 지정할 수 없습니다.TOP을 사용하여 의미 있는 시간순으로 행을 삽입, 삭제 또는 수정해야 하는 경우 다음을 사용해야 합니다.TOP
와 함께ORDER BY
하위 선택 문에 지정된 절입니다.
TOP
에 사용할 수 없습니다.UPDATE
그리고.DELETE
분할된 뷰에 대한 설명입니다.
TOP
와 결합할 수 없음OFFSET
그리고.FETCH
동일한 쿼리 식(동일한 쿼리 범위)에 있습니다.자세한 내용은 http://technet.microsoft.com/en-us/library/ms189463.aspx 를 참조하십시오.
스레드 세이프 솔루션을 찾고 있는 사용자는 여기를 참조하십시오.
코드:
UPDATE Account
SET sg_status = 'A'
OUTPUT INSERTED.AccountId --You only need this if you want to return some column of the updated item
WHERE AccountId =
(
SELECT TOP 1 AccountId
FROM Account WITH (UPDLOCK) --this is what makes the query thread safe!
ORDER BY CreationDate
)
그것은 또한 잘 작동합니다...
Update t
Set t.TIMESTAMP2 = '2013-12-12 15:40:31.593'
From
(
Select Top 1 TIMESTAMP2
From TX_Master_PCBA
Where SERIAL_NO IN ('0500030309')
Order By TIMESTAMP2 DESC
) t
언급URL : https://stackoverflow.com/questions/20539095/update-top-1-record-in-table-sql-server
'programing' 카테고리의 다른 글
Spring에서 @Order 주석은 어떤 용도로 사용됩니까? (0) | 2023.08.05 |
---|---|
알려진 기본 속성이 아니므로 'ng-forOf'에 바인딩할 수 없습니다. (0) | 2023.08.05 |
Java EE 6.0과 비교한 봄 3.0 (0) | 2023.08.05 |
vuex 스토어의 동작에서 농담으로 변수를 모의하는 방법 (0) | 2023.08.05 |
jQuery: 위치()와 오프셋()의 차이 (0) | 2023.08.05 |