它返回null,爲什麼? IDENT_CURRENT
部分,但它與Scope_Identity
很好,爲什麼?爲什麼Ident_Current返回null,但Scope_Identity呢?
ALTER PROCEDURE [dbo]. [InsertComplaints]
@ComplaintCode varchar(50),
@ComplaintType_ID smallint,
@RecievingMode_ID smallint,
@Subject varchar(100),
@ComplainantID smallint,
@District_ID smallint,
@AddressedTo varchar(50),
@DiaryNo varchar(50),
@User_ID int,
@Status_ID smallint,
@RecievedDate smalldatetime,
@IGRemarks varchar(MAX) = null,
@PsoRemarks varchar(MAX) =null,
@FinalDecision varchar(250)=null,
@AgainstDist_ID smallint,
@HomePS_ID smallint,
@AgainstPS_ID smallint,
@Name varchar(75),
@DesigID int,
@ForwardedBy smallint,
@SMS_ID int = 0,
@result bit output,
@ID int output
AS
BEGIN
Begin Try
insert into dbo.Complaints
values (
@ComplaintCode,
@ComplaintType_ID,
@RecievingMode_ID ,
@Subject,
@ComplainantID ,
@District_ID ,
@AddressedTo ,
@DiaryNo,
@User_ID,
@Status_ID,
@RecievedDate,
@IGRemarks,
@PsoRemarks,
@FinalDecision,
@AgainstDist_ID,
@HomePS_ID,
@AgainstPS_ID,
@Name ,
@DesigID,
@ForwardedBy,
@SMS_ID
)
Set @result = @@ROWCOUNT
Set @ID = IDENT_CURRENT('ComplaintID') --SCOPE_IDENTITY()
Select @ID
End Try
Begin Catch
Set @result=0
End Catch
END
我想從投訴表中的特定表,使得complaintID
最後插入id
但它不會,但空返回任何。幫幫我 !
'SELECT @ID = SCOPE_IDENTITY()'是否工作?它應該 - 但你需要使用'SELECT'而不是'SET',我相信... – 2014-09-24 08:03:08
yes scope_Identity正常工作 – 2014-09-24 08:04:30
爲什麼要使用'IDENT_CURRENT'?這將返回最新插入(已提交或未提交)中使用的最新ID,而不是您在此過程中插入的那個*。 – Luaan 2014-09-24 08:21:47