900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > mysql 存储过程 is_Mysql存储过程语法问题...

mysql 存储过程 is_Mysql存储过程语法问题...

时间:2022-09-30 04:48:22

相关推荐

mysql 存储过程 is_Mysql存储过程语法问题...

小弟对Mysql存储过程语法不太熟悉,以下存储过程在调整过后执行仍不成功,求各位大侠指点指点。。

create procedure prc_AddChannel

(

id int,

iname varchar(50),

isdisplay int,

descriptions varchar(100),

demo varchar(100)

)

begin

declare myRight int;

declare pro int;

SELECT Right_Value into myRight FROM CHANNEL WHERE CHANNEL_ID=id;

SELECT count(*) into pro FROM CHANNEL WHERE PARENT_ID=id;

UPdate CHANNEL SET HAS_CHILD = 1 WHERE CHANNEL_ID=id;

UPdate CHANNEL SET RIGHT_VALUE = RIGHT_VALUE+2 WHERE RIGHT_VALUE>=myRight;

UPdate CHANNEL SET LEFT_VALUE = LEFT_VALUE+2 WHERE LEFT_VALUE>myRight;

INSERT INTO CHANNEL(PARENT_ID,TITLE,CREATE_TIME,Left_Value,Right_Value,HAS_CHILD,PRORITY,Is_Display,Description,Demo) VALUES (id,iname,now(),myRight,myRight + 1,0,pro+1,isdisplay,descriptions,demo);

end;

create procedure prc_DelChannel(id int)

begin

declare myRight int ;

declare myLeft int ;

declare myWidth int ;

SELECT Right_Value into myRight FROM CHANNEL WHERE CHANNEL_ID = id;

SELECT LEFT_VALUE into myLeft FROM CHANNEL WHERE CHANNEL_ID = id;

SELECT Right_Value - LEFT_VALUE + 1 into myWidth FROM CHANNEL WHERE CHANNEL_ID = id;

DELETE FROM CHANNEL WHERE LEFT_VALUE BETWEEN myLeft AND myRight;

UPdate CHANNEL SET Right_Value = Right_Value - myWidth WHERE Right_Value > myRight;

UPdate CHANNEL SET LEFT_VALUE = LEFT_VALUE - myWidth WHERE LEFT_VALUE > myRight;

end;

作者: hp_1015

发布时间: -09-02

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。