[SQL] 는 SQL 서버에 업데이트 된 행 I의 ID를 얻기
SQL는 SQL 서버에 업데이트 된 행 I의 ID를 얻기
나는 SQL에서 행 I 업데이트의 ID를 반환하기 위해 노력하고있어
UPDATE ITS2_UserNames
SET AupIp = @AupIp
WHERE @Customer_ID = TCID AND @Handle_ID = ID
SELECT @@ERROR AS Error, @@ROWCOUNT AS RowsAffected, SCOPE_IDENTITY() AS ID
나는이 ID에 대해 NULL가 계속, 나는이 어떻게받을 수 있나요?
해결법
-
==============================
1.@@ IDENTITY 및 SCOPE_IDENTITY ()는 당신에게, 즉 새로운 행의 신원을 손 것입니다. 삽입 후. 당신의 업데이트 이후 행의 정체는 ... @Customer_ID 또는 @Handle_Id? 그것은 다른 필드 인 경우에는 업데이트 된 행의 ID를 반환 OUTPUT 절을 사용한다 :
@@ IDENTITY 및 SCOPE_IDENTITY ()는 당신에게, 즉 새로운 행의 신원을 손 것입니다. 삽입 후. 당신의 업데이트 이후 행의 정체는 ... @Customer_ID 또는 @Handle_Id? 그것은 다른 필드 인 경우에는 업데이트 된 행의 ID를 반환 OUTPUT 절을 사용한다 :
UPDATE ITS2_UserNames SET AupIp = @AupIp OUTPUT INSERTED.PrimaryKeyID WHERE @Customer_ID = TCID AND @Handle_ID = ID
-
==============================
2.나는 @pauloya는 말을하려고 어떻게 생각 :
나는 @pauloya는 말을하려고 어떻게 생각 :
당신이 다음 테이블을 업데이트 할 경우 당신은 당신이 당신의 UPDATE에 의해 영향을받는 모든 행이 당신이 INTO #tempTable와에 절은 선택 어디에 같은를 사용 그렇다면, WHERE 절 있습니다.
당신이 갈 수 있습니다 :
SELECT userName.ID INTO #temp FROM ITS2_UserNames AS userNames WHERE @Customer_ID = TCID AND @Handle_ID = ID
당신은 업데이트
UPDATE ITS2_UserNames SET AupIp = @AupIp WHERE @Customer_ID = TCID AND @Handle_ID = ID
마지막으로 당신은 당신의 업데이트에 의해 영향을받는 모든 ID를 반환 할 수 있습니다
SELECT * FROM #temp
당신은 출력이 할 수 있지만 같은 변수 테이블을 선언해야합니다
DECLARE @tempTable TABLE ( ID INT );
다음은 출력을 사용하여
UPDATE ITS2_UserNames SET AupIp = @AupIp OUTPUT INSERTED.ID INTO @tempTable WHERE @Customer_ID = TCID AND @Handle_ID = ID
-
==============================
3.당신이 변수에 영향을받는 행의 기본 키를 가지고 싶다면 다음 테이블 변수에 넣고 수 OUTPUT 절을 사용할 수 있습니다 여기에 언급하고 싶었다. 예를 들어 문 아래 실행 ...
당신이 변수에 영향을받는 행의 기본 키를 가지고 싶다면 다음 테이블 변수에 넣고 수 OUTPUT 절을 사용할 수 있습니다 여기에 언급하고 싶었다. 예를 들어 문 아래 실행 ...
CREATE TABLE ItemTable (ID INT IDENTITY (1,1), 모델 VARCHAR (500) NULL, 컬러 VARCHAR (50) NULL)
INSERT INTO ItemTable (모델, 컬러) VALUES ( 'SomeModel', '노란색')
INSERT INTO ItemTable (모델, 컬러) VALUES ( 'SomeModel', '레드')
INSERT INTO ItemTable (모델, 컬러) VALUES ( 'SomeModel', '핑크')
DECLARE의 @LastUpdateID 표 (항목 ID INT NULL)
UPDATE ItemTable SET 모델 = 'ABC' 출력 INSERTED.ID INTO @LastUpdateID WHERE 색 = '레드'
@LastUpdateID FROM SELECT 항목 ID
-
==============================
4.당신이 해당 업데이트를 일치하는 기록을 찾으려면 당신은 그것으로 선택을해야
당신이 해당 업데이트를 일치하는 기록을 찾으려면 당신은 그것으로 선택을해야
Select IdColumn From ITS2_UserNames WHERE @Customer_ID = TCID AND @Handle_ID = ID
from https://stackoverflow.com/questions/1610509/getting-the-id-of-a-row-i-updated-in-sql-server by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] field.types와 RMySQL dbWriteTable (0) | 2020.05.23 |
---|---|
[SQL] 어떻게 JPA와 최대 절전 모드로 SQL 주입을 방지하기 위해? (0) | 2020.05.23 |
[SQL] 어떻게 SQL 데이터베이스에 아랍어 문자를 삽입하려면? (0) | 2020.05.23 |
[SQL] java.sql.Date로 변환 문자열 일 [중복] (0) | 2020.05.23 |
[SQL] 어떻게 MySQL 데이터베이스에서 파일을 삽입하려면? (0) | 2020.05.23 |