2014-03-12 5 views
1

ASP.NET에서 페이지를로드 할 때 마지막으로 삽입 된 행 GUID이 필요합니다. 내가 저장 프로 시저로했지만, 삽입 당시 나는이 같은 페이지로드 과정에서 그 값을 사용하는 방법을 점점 오전 :마지막으로 삽입 된 GUID 가져 오기

USE [emp] 
GO 
/****** Object: StoredProcedure [dbo].[procTestTableInsert] Script Date: 3/12/2014 5:55:33 PM ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 

ALTER PROCEDURE [dbo].[procTestTableInsert] 
(
    @name varchar(50) 
) 
AS 
    DECLARE @id uniqueidentifier 

SELECT @id = NEWID()-- Get a new unique identifier to insert 

INSERT 
    testTable1(id,name) 
VALUES 
    (@id,@name) 

SELECT @id 

exec procTestTableInsert sree 
+0

저장 프로 시저 코드 주위에'BEGIN' 및'END'가 누락 되었습니까? –

+2

Proc에서 이미 가지고있을 때 마지막 GUID를 가져 오기 위해 쿼리해야하는 이유는 무엇입니까? 호출 응용 프로그램으로 다시 전달할 수 없습니까? – JiggsJedi

+0

@PeterMortensen : 왜 위키 백과에 대한 링크가 포함되어 있습니까? 태그 wiki가 이미있는 태그가 있습니다. –

답변

0

당신이 IDENT_CURRENT를 조회 할 수 있어야한다 Best way to get identity of inserted row?이 질문에 따르면. MSDN 설명서에서

: 지정된 테이블 다음 예제는 AdventureWorks2012 데이터베이스에있는 Person.Address 테이블에 대해 생성 된 마지막 ID 값을 반환에 대해 생성 된 마지막 ID 값을 반환

A..

USE AdventureWorks2012; 
GO 
SELECT IDENT_CURRENT ('Person.Address') AS Current_Identity; 
GO 

주 : 이것은 당신의 GUID가 행 ID 있다고 가정합니다. 행 ID가 아닌 경우에는 작동하지 않습니다. 어떤 경우에는 임시 테이블에 마지막 ID를 저장하는 것이 좋습니다 (GUID를 저장하기 위해 저장된 proc 파일을 업데이트하십시오). 그렇지 않으면 응용 프로그램 캐시에 저장하십시오.

관련 문제