2009-12-20 2 views
1

내 SQL Server 테이블에는 다른 열이 있습니다.SQL Server : 삽입 한 행의 값을 얻으려면 어떻게해야합니까?

IdentitySpecification가의 기본값이 사실과 GuidKey로 설정했다

AutoID (NEWID())

AutoID GuidKey 
1  f4rc-erdd 
2  gedd-rrds 

행에서 GuidKey 삽입을 얻기의 어떤 방법이 있나요?

나는 Scope_Identity()와 같은 것이 필요하다. 차이점은 AutoID의 내용을 얻고 싶지는 않지만 GuidKey 열을 얻고 싶다는 것이다.

답변

5

SQL Server는 다음과 같은 작업을 수행 할 수 있습니다 2005/2008

INSERT INTO myTable (SomeColumn) 
    OUTPUT INSERTED.GuidKEY 
VALUES ('SomeData') 
+0

을 사용하여 값을 반환합니다. guid 값을 저장하는 둘 이상의 열이 있다면 어떻게 될까요? – Tebo

0

물론 :

SELECT GuidKEy FROM [Table] WHERE AutoID= scope_identity() 
0

:

DECLARE @TempTable TABLE (GuidKey UNIQUEIDENTIFIER) 

INSERT INTO YourTable(Columns) 
    OUTPUT INSERTED.GuidKey INTO @TempTable(GuidKey) 
    VALUES(YourVALUES) 

이것은 @TempTable에 삽입 GuidKey를 삽입합니다. 그런 다음 해당 테이블에서 값을 가져올 수 있습니다. 내가 같이 수행 uniqueidentifier를 들어

0

은 다음과 같습니다

DECLARE @ID uniqueidentifier 
SET @ID = newId() 

... 

그럼 난 내 삽입 문에서 @ID를 사용합니다. 마지막으로 나는 SELECT @ID 또는 RETURN @ID

관련 문제