Begin

...

End

之间的是一个语句块,一般Begin...End用在  ( 相当于  {})

while

if等语句中

在T_SQL中,if/while后只能紧跟一条sql语句,如果有多条则应该用Begin..end包含起来

如:

if (@int > 9)

set @int = 1

else

set @int = 0

这里的if后面只把变量@int设为1,没有其它的操作,所以这里可以省去begin..end

但如果有多条,如

if(@int > 9)

begin

set @int = 1

select * from tablename

end

这里就必须用begin..end

否则

select语句就永远都会被执行一次

应用于mybatis  当有多个delete时 :

BEGIN

delete from wfworkitem c where c.processinstid in (select b.processinstid from wfprocessinst b where b.PARENTPROCID=#processinstid#);

delete from wfactivityinst c where c.processinstid in (select b.processinstid from wfprocessinst b where b.PARENTPROCID=#processinstid#);

delete from wftransctrl e where e.processinstid in (select b.processinstid from wfprocessinst b where b.PARENTPROCID=#processinstid#);

delete from wftransition g where g.processinstid in (select b.processinstid from wfprocessinst b where b.PARENTPROCID=#processinstid#);

delete from wfwiparticipant i where i.processinstid in (select b.processinstid from wfprocessinst b where b.PARENTPROCID=#processinstid#);

delete from wfprocessinst a where a.processinstid in (select b.processinstid from wfprocessinst b where b.PARENTPROCID=#processinstid#);

delete from wfworkitem where processinstid=#processinstid#;

delete from wfactivityinst where processinstid=#processinstid#;

delete from wftransctrl where processinstid=#processinstid#;

delete from wftransition where processinstid=#processinstid#;

delete from wfwiparticipant where processinstid=#processinstid#;

delete from wfprocessinst where processinstid=#processinstid#;

END;

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐