0
我想创建一个存储过程使用嵌套如果,但我没有得到如何框架它。请帮助我。 这如果我想做的事:如果在存储过程中使用嵌套
CREATE PROCEDURE StarDistributorProfit
@sponsorId varchar(20),
AS
if exists(select sponsor_id where(select count(user_id) from usertransaction where bv=50001))
if count=1,TotalGBV=25000,TotalPBV=200
BEGIN
update usertransaction set rank='executive' where [email protected]
update usertransaction set dp=(0.309*BV)
update usertransaction set leadership_bonus=(0.07*BV)
END
if count=2,TotalGBV=20000,TotalPBV=200
BEGIN
update usertransaction set rank='star executive' where [email protected]
update usertransaction set dp=(0.318*BV)
update usertransaction set leadership_bonus=(0.03*BV)
END
if count=3,TotalGBV=20000,TotalPBV=300
BEGIN
update usertransaction set rank='Organizer' where [email protected]
update usertransaction set dp=(0.318*BV)
update usertransaction set leadership_bonus=(0.03*BV)
END
GO
你能给一些示例数据和预期的结果?它看起来像你正在做的事情可能可以在一个'UPDATE'语句中制定,而不是先执行测试然后再应用多个更新。另外,我怀疑你的'UPDATE'中有很多缺少'WHERE'子句。 – 2014-09-25 12:55:44
感谢您的回答,我收到以下错误:关键字'if'附近语法不正确。在')'附近预期条件的上下文中指定的非布尔类型的表达式。 – sumedha 2014-09-25 12:58:53