å½è¦å¯¹æ°æ®åºè¿è¡å¤ä¸ªæä½æ¶ä½¿ç¨
vfpèªå·±çäºå¡å¤çè¯å¥æ:
begin transaction
rollback
end transaction
ä½ è¯´çcommitæ¯sqlå½ä»¤, æ¯æä½sql serveræ°æ®åºç¨ç, å½ä½¿ç¨SQL Pass-Throughæ¶, ç¨sqlexec()å½æ°ç´æ¥ç»sqlæ°æ®åºåéå½ä»¤.详ç»è¯´æ:
åºç¨ç¨åºä¸»è¦éè¿æå®äºå¡å¯å¨åç»æçæ¶é´æ¥æ§å¶äºå¡ãè¿å¯ä»¥ä½¿ç¨ Transact-SQL è¯å¥ææ°æ®åº API å½æ°ãç³»ç»è¿å¿
é¡»è½å¤æ£ç¡®å¤çé£äºå¨äºå¡å®æä¹å便ç»æ¢äºå¡çé误ã
äºå¡æ¯å¨è¿æ¥å±è¿è¡ç®¡çãå½äºå¡å¨ä¸ä¸ªè¿æ¥ä¸å¯å¨æ¶ï¼å¨è¯¥è¿æ¥ä¸æ§è¡çææç Transact-SQL è¯å¥å¨è¯¥äºå¡ç»æä¹åé½æ¯è¯¥äºå¡çä¸é¨åã
å¯å¨äºå¡
å¨ Microsoft® SQL Server™ ä¸ï¼å¯ä»¥ææ¾å¼ãèªå¨æ交æéæ§æ¨¡å¼å¯å¨äºå¡ã
æ¾å¼äºå¡
éè¿ååº BEGIN TRANSACTION è¯å¥æ¾å¼å¯å¨äºå¡ã
èªå¨æ交äºå¡
è¿æ¯ SQL Server çé»è®¤æ¨¡å¼ãæ¯ä¸ªåç¬ç Transact-SQL
è¯å¥é½å¨å
¶å®æåæ交ãä¸å¿
æå®ä»»ä½è¯å¥æ§å¶äºå¡ã
éæ§äºå¡
éè¿ API å½æ°æ Transact-SQL SET IMPLICIT_TRANSACTIONS ON è¯å¥ï¼å°éæ§äºå¡æ¨¡å¼è®¾ç½®ä¸ºæå¼ãä¸ä¸ä¸ªè¯å¥èªå¨å¯å¨ä¸ä¸ªæ°äºå¡ãå½è¯¥äºå¡å®ææ¶ï¼åä¸ä¸ä¸ª Transact-SQL
è¯å¥åå°å¯å¨ä¸ä¸ªæ°äºå¡ã
è¿æ¥æ¨¡å¼å¨è¿æ¥å±è¿è¡ç®¡çãå¦æä¸ä¸ªè¿æ¥ä»ä¸ç§äºå¡æ¨¡å¼æ¹åå°å¦ä¸ç§ï¼é£ä¹å®å¯¹ä»»ä½å
¶å®è¿æ¥çäºå¡æ¨¡å¼æ²¡æå½±åã
ç»æäºå¡
å¯ä»¥ä½¿ç¨ COMMIT æ ROLLBACK è¯å¥ç»æäºå¡ã
COMMIT
å¦æäºå¡æåï¼åæ交ãCOMMIT è¯å¥ä¿è¯äºå¡çææä¿®æ¹å¨æ°æ®åºä¸é½æ°¸ä¹
ææãCOMMIT è¯å¥è¿éæ¾èµæºï¼å¦äºå¡ä½¿ç¨çéã
ROLLBACK
å¦æäºå¡ä¸åºç°é误ï¼æè
ç¨æ·å³å®åæ¶äºå¡ï¼å¯åæ»è¯¥äºå¡ãROLLBACK è¯å¥éè¿å°æ°æ®è¿åå°å®å¨äºå¡å¼å§æ¶æå¤çç¶æï¼æ¥æ¢å¤å¨è¯¥äºå¡ä¸æä½çææä¿®æ¹ãROLLBACK
è¿ä¼éæ¾ç±äºå¡å ç¨çèµæºã
温馨提示:答案为网友推荐,仅供参考