java web项目中用mysql如何实现update语句

java web项目中用mysql如何实现update语句,第1张

给你说下具体 *** 作吧,首先,web项目需要你确定要更新的什么东西,好,根据Id先去查一遍这东西,然后跳入跟新页面,给需要跟新的数据一个对象,比如学生表,我要跟新学生姓名,那么学生姓名那一栏的Id就是Student.Id

然后用后台去接受一下这个对象,接受到之后,就可以进行 *** 作了,获得数据库连接,查询那个数据,然后用update直接拼语句更新也行,用生成的方法也行,然后返回一个受影响的数据,用int接受一下,判断是否等于0

,如果为0,没成功,不为

0,成功,ok,就这样,没有写代码,如果需要可以问我

你那样写的话参数看着太多了,建议用对象吧

@sqlz

='select

asd

from

flkg'

EXECUTE(@sqlz)

----------

首先,mysql下动态语句不是这样写的,另外,触发器里不能允许返回结果集的.

这里我是希望他能中断更新!

---------------------

你的意思是不是要中断后面的

"

SET

amount

=@amountmm

WHERE

CODE=new.code

AND

whcode

=

new.whcode

"

这部分?

如果是的话,那这样改下:

DELIMITER

$$

USE

`eerp`$$

DROP

TRIGGER

/*!50032

IF

EXISTS

*/

`material_update`$$

CREATE

TRIGGER

`material_update`

AFTER

UPDATE

ON

`sf_material`

FOR

EACH

ROW

BEGIN

IF

new.auditing

=

'Y'

THEN

SET

@amountmm

=

(SELECT

amount-new.amount

FROM

warehouse

WHERE

CODE=new.code

AND

whcode

=

new.whcode)

IF

@amountmm

>=0

THEN

UPDATE

warehouse

SET

amount

=@amountmm

WHERE

CODE=new.code

AND

whcode

=

new.whcode

END

IF

END

IF

END

$$

DELIMITER

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

"我是要中断更新。。不是后面。。。严格说就是这个表sf_material更新和后面的那个表warehouse更新也一起中断!"

---------------------------------------------------------------

因为mysql下触发器内不支持rollback,所以,变换一个方式来处理,如下:

那触发器部分这么写(注意:一定要使表TB_error_rollback在你的库中不允许存在):

CREATE

TRIGGER

`material_update`

BEFORE

UPDATE

ON

`sf_material`

FOR

EACH

ROW

BEGIN

IF

new.auditing

=

'Y'

THEN

SET

@amountmm

=

(SELECT

amount-

new.amount

FROM

warehouse

WHERE

CODE=new.code

AND

whcode

=

new.whcode)

IF

@amountmm

update

TB_error_rollback

set

name=1

END

IF

UPDATE

warehouse

SET

amount

=@amountmm

WHERE

CODE=new.code

AND

whcode

=

new.whcode

END

IF

END


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8623230.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存