SQL Server 存储过程update

----修改----
ALTER PROCEDURE [dbo].[sp_DJAreas_update]
@Id varchar(50), 
@Name varchar(255), 
@AreaType int, 
@PQType int, 
@Summary varchar(500), 
@LastUserId varchar(32), 
@Status int, 
@Flags int
WITH EXEC AS CALLER
AS
--判断该记录是否存在
IF EXISTS(SELECT Id FROM tblDJAreas AS area WHERE Id<>@Id AND Name=@Name AND IsDelete=0)
	RETURN 10015;
IF @Status=16
BEGIN
	IF EXISTS(SELECT Id FROM tblDJUserInfo WHERE AreaId=@Id AND IsDelete=0)
		RETURN 10010;
	IF EXISTS(SELECT OrgId FROM tblDJAreaInOrgs WITH(NOLOCK) WHERE AreaId=@Id AND IsDelete=0)
		RETURN 10011;
	IF EXISTS(SELECT Id FROM tblDJAreas WHERE Name=LTRIM(RTRIM(@Name)) AND Id<>@Id AND IsDelete=0)
		RETURN 10015;
END
--修改	
UPDATE
  tblDJAreas
SET
  [Name]       = isnull(@Name, [Name])
 ,AreaType   = isnull(@AreaType, AreaType)
 ,PQType     = isnull(@PQType, PQType)
 ,Summary    = isnull(@Summary, Summary)
 ,LastModify = GETDATE()
 ,LastUserId  = isnull(@LastUserId, LastUserId)
 ,Status     = isnull(@Status, Status)
 ,Flags      = isnull(@Flags, Flags)
WHERE
  Id = @Id

猜你喜欢

转载自huangliangbao.iteye.com/blog/2267972