CREATE PROCEDURE MaxiFatherId
@cAcc_Id char(3)
ASBEGIN TRAN
DECLARE @BH int
UPDATE ufsystem..UA_Identity WITH(ROWLOCK) SET
@BH=iFatherId+1,
iFatherId=iFatherId+1
WHERE cAcc_Id=@cAcc_Id and cVouchType='rd'select @BH as New_id
COMMIT TRAN/*
ufsystem..UA_Identity 的iFatherId字段没被更新,错在那里呢?
*/
@cAcc_Id char(3)
AS
BEGIN TRAN
DECLARE @BH int
UPDATE mydb..UA_Identity WITH(ROWLOCK) SET
@BH=iFatherId+1,
iFatherId=iFatherId+1
WHERE cAcc_Id=@cAcc_Id and cVouchType='rd'
select @BH as New_id
COMMIT TRAN
GOCREATE TABLE UA_Identity(cAcc_Id char(3),iFatherId INT,cVouchType VARCHAR(10))
INSERT INTO UA_Identity
SELECT 'a01',25,'rd'
EXEC MaxiFatherId 'a01'SELECT * FROM UA_Identity
/*
cAcc_Id iFatherId cVouchType
------- ----------- ----------
a01 26 rd(1 行受影响)
*/ 有更新啊,是不是你的表有触发器.