第一次写存储过程

1,新建存储过程名称

2,传入变量

3,声明变量(declare)如果需要的话

4,逻辑

CREATE PROC sp_UpdateByID
@PId INT,@Id INT
AS
BEGIN

declare @Pidx int
SELECT TOP 1 @Pidx=Pidx FROM aa WHERE ID=@Id AND SendState != -1


IF (@PID !=0)--如果pid不等于0
BEGIN
UPDATE  aa SET [PrintState] = 1 WHERE Pidx=@PId --更新
--如果aa修改成功
if((select COUNT(0) from aa where [PrintState] = 1 and Pidx=@PId)>0)
begin
--更新成功之后再更新
UPDATE bb SET [PrintState] = 1 WHERE Id=@PId
end

END

IF (@Id !=0)--如果id不等于0
BEGIN
UPDATE aa SET [PrintState] = 1 WHERE ID=@Id--更新
--更新成功之后判断是否存在,根据情况更新状态
IF ((SELECT COUNT(0) FROM aa
WHERE Pidx =@Pidx AND SendState != -1 AND PrintState !=1)>0)
BEGIN
UPDATE bb SET [PrintState] = 1
WHERE Id=@Pidx
END
ELSE
BEGIN
UPDATE bb SET [PrintState] = 0
WHERE Id=@Pidx
END
END
END

原文地址:https://www.cnblogs.com/zttb/p/9438367.html