gpt4 book ai didi

sql - IF/ELSE 存储过程

转载 作者:行者123 更新时间:2023-12-02 07:23:50 25 4
gpt4 key购买 nike

任何人都可以指出我这个存储过程做错了什么吗?我无法编译它,而且我的软件没有提供任何有用的线索来说明它出了什么问题。

CREATE PROCEDURE web.createSubscriptions
(
@Member_Id BIGINT,
@Trans_type VARCHAR(100),
@Payment_Status VARCHAR(100),
@Payment_Date DATETIME,
@Trans_Id VARCHAR(100)
)

AS
DECLARE @tmpType VARCHAR(15)
BEGIN

INSERT INTO TBL_SUBSCRIPTIONS (subs_MemberID, subs_Type, subs_Status, subs_DateGenerated, subs_PaypalTransaction) VALUES(@Member_Id, @Trans_Type, @Payment_Status, @Payment_Date, @Trans_Id)

IF(@Trans_type = 'subscr_signup')
BEGIN
@tmpType = 'premium'
END
ELSE(@Trans_type = 'subscr_cancel')
BEGIN
@tmpType = 'basic'
END

UPDATE TBL_MEMBERS
SET members_Type = @tmpType
WHERE members_Id = @Member_Id

END

最佳答案

尼克是对的。下一个错误是 else 应该是 else if (您当前的 else 中有一个 bool 表达式,这是没有意义的)。这应该是这样的

ELSE IF(@Trans_type = 'subscr_cancel')
BEGIN
SET @tmpType = 'basic'
END

您目前有以下内容(这是错误的):

ELSE(@Trans_type = 'subscr_cancel')
BEGIN
SET @tmpType = 'basic'
END

这是一个 future 的提示 - 双击错误,SQL Server Management Studio 将转到错误所在的行。如果您认为 SQL Server 会给出神秘错误(我认为不会),那么您还没有使用过 Oracle!

关于sql - IF/ELSE 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1687988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com