我想知道是否有人可以幫助我將這兩個存儲過程合併爲一個。將兩個存儲過程(選擇和更新)合併爲一個
CREATE PROCEDURE [dbo].[spGetMsgID]
-- Add the parameters for the stored procedure here
@SendingF varchar(50),
@SendingA varchar(50)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT Prefix, Counter
FROM
dbo.Part p
JOIN
dbo.MsgIDG g
ON
p.ID = g.PartID
WHERE
p.Facility = @SendingF
AND
p.Application = @SendingA
END
GO
CREATE PROCEDURE [dbo].[spUpdateMsgID]
-- Add the parameters for the stored procedure here
@SendingF varchar(50),
@SendingA varchar(50)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
UPDATE dbo.MsgIDG
SET Counter = Counter + 1
FROM
dbo.Part p
JOIN
dbo.MsgIDG g
ON
p.ID = g.PartID
WHERE
p.Facility = @SendingF
AND
p.Application = @SendingA
END
GO
第一存儲過程返回前綴&計數器,而第二計數器的增量。我想要做的是檢查第一個存儲過程是否返回至少一個結果集,如果是這樣,返回前綴&計數器並執行第二個存儲過程。
有沒有辦法將這兩個組合成一個,比運行兩個單獨的存儲特效可能更有效。我最初想用IF ... ELSE來檢查結果集,返回兩列並更新。
在此先感謝
謝謝。太精彩了。 – nixgadgets