1¡¢Ð´Oracle´æ´¢¹ý³Ìʱ×îºÃ²»ÒªÔÚÆäÖÐдCommitÓï¾ä¡£
Ò»°ãµ÷ÓóÌÐò»á×Ô¶¯CommitÊý¾Ý£¬±ÈÈçÓÃNHibernateµ÷ÓõÄʱºò£¬NHibernate¾Í»á×Ô¶¯CommitÊý¾Ý¡£Èç¹ûдÁË£¬»áÔì³ÉNHibernateµ÷ÓÃÍê´æ´¢¹ý³ÌÖ®ºóÅ׳ö´íÎó¡£
2¡¢ÖØÊÓCountµÄÌØÊâ±È½Ï×÷Óá£
ÔÚÒ»¸öSelectÓï¾äÖУ¬ÓÃCount¶Ô²»Í¬µÄ×ֶνøÐÐͳ¼Æ£¬Èç¹ûijÐÐÊý¾ÝÖб»Í³¼Æ×Ö¶ÎֵΪnull£¬²»»á¼ÆÈë¸Ã×Ö¶Îͳ¼ÆÖµ¡£ÀûÓÃÕâÒ»µã¿ÉÒÔ½øÐжà±í¹ØÁªÍ³¼Æ£¬±È½ÏÊý¾ÝµÄÒ»ÖÂÐÔ¡£
ÀýÈ磺
Select Count(dmc.id) dmcCnt, Count(dmp.id) dmpCnt,
Count(Case dmp.type When 1 Then 1 Else null End) dmp2, Count(dmt.id) dmtCnt
Into i_Count1, i_Count2, i_Count3, i_Count4
From dmc
left join dmp on dmp.id = dmc.dmpid
and dmp.procdoctimestamp = dmc.procdoctimestamp
left join dmt on dmt.dmpid = dmp.id
3¡¢Í¨¹ý¹ØÁªÊý¾Ý¸üÐÂÒ»¸ö±íʱ£¬Òª×¢Òâ¹ØÁªÊý¾ÝµÄΨһÐÔ¡£
ÀýÈ磺
update (
select dmu.cu, dmu.lmt,
dmcl.cu cu1, dmcl.lmt lmt1
from dmu, dmcl, dmp
where dmu.id = dmp.dmuid
and dmcl.dmpid = dmproc.id
and dmcl.id = dmu.dmclid
)
Set cu = cu1,
lmt = lmt1;
´ËÓï¾äÖеÄdmu±íÖбØÐëÒªÓÐdmcl±íµÄÖ÷¹Ø¼ü×ֶβſÉÒÔΨһȷ¶¨cu1ºÍlmt1µÄÖµ£¬·ñÔòOracle»áÈÏΪÄãʹÓöàÌõÊý¾Ý¸üÐÂÒ»ÌõÊý¾Ý£¬ÄÇÑùÊDz»ÔÊÐíµÄ¡£ÓÐһЩÅóÓÑʹÓÃÒ»¸ö±íµÄÊý¾Ý¸üÐÂÁíÒ»¸ö±íµÄÊý¾Ýʧ°Ü£¨ora-01779£©³£³£ÊÇÕâ¸öÔÒò¡£