ตอนแรกก็ไม่ได้เอ๊ะในอะไร คิดว่าเป็นเพียงแค่ชื่อ ธรรมดา แต่พอแก้ชื่อ Error เลย ผมเลยลองหาข้อแต่ต่างของ BEGIN ATOMIC ว่าต่างกับเจ้า BEGIN ธรรมดาอย่างไร โดยคำสั่ง BEGIN ATOMIC มีการจัดการ Transaction เ้สริมเข้ามา ถ้าคำสั่งภายใต้ BEGIN ATOMIC ... END นั้นเกิดปัญหาขึ้น DBMS จะ ROLLBACK ข้อมูลกลับทั้งหมดครับ ตัวอย่างการใช้งาน เช่น
[sql]
--Insert System User
BEGIN ATOMIC
DECLARE CREATETIME TIMESTAMP;
SET CREATETIME = CURRENT TIMESTAMP;
--INSERT System User (Username: DS_System, Password: DS_System)
INSERT INTO USERINVEST(USERID,USERNAME, FIRSTNAMEENG, LASTNAMEENG,FULLNAME, USERPOSITION, PASSWORD, PWDLASTCHANGE, ACTIVEFLAG,ACTIONFLAG,CREATEBY,CREATETIME)
VALUES (-1, 'DS_System', 'DEBUGGINGSOFT', 'SYSTEM', 'DEBUGGINGSOFT SYSTEM', 'SYSTEM USER', 'DDD60BB3F7E8AF7FBB071E5A79F8694DAE068A568F79AEDE5E09FBCB40D32378', CREATETIME, 'A','N',-1,CREATETIME);
--INSERT Group
INSERT INTO GROUPINVEST(GROUPID, GROUPNAME, ACTIVEFLAG, ACTIONFLAG, CREATEBY, CREATETIME)
VALUES(-1,'DS_System', 'A','N', -1, CREATETIME);
--Assign user to group
INSERT INTO GROUPUSER(GROUPID, GROUPCREATETIME, USERID, USERCREATETIME)
VALUES(-1,CREATETIME,-1,CREATETIME);
END
[/sql]
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.