Performs a SQL commit command inside a transaction. You need not specify a commit statement at the end of a transaction because Silk Performer automatically executes a SQL commit at the end of a transaction. The commit statement permanently sets all changes to the database since the last commit; you cannot undo these changes with a rollback statement (just as you cannot rollback committed statements with any databases using native tools). The commit statement commits the work of all cursors (statement handles) that the transaction has connected to the database.
If you use a commit statement inside a transaction, you will not be able to undo (roll back) the whole transaction. Depending on the capabilities of your DBMS, result sets may be destroyed after a commit, and subsequent execution of a fetch statement without reselecting will cause an error.
Stat = "commit".
dclrand
rArtNo: RndUniN(1..1000);
var
v_artno, v_stock, v_quantity: number;
dcltrans
transaction TMain
begin
v_artno := rArtNo;
c1: SelArticle();
if v_stock = 0 then
c2: InsOrder();
end;
commit;
end TMain;
dclsql
SelArticle:
SELECT stock,quantity
INTO :v_stock, :v_quantity
FROM article
WHERE articlenumber = :v_artno;
InsOrder:
INSERT INTO order(articlenumber, quantity)
VALUES(:v_artno, :v_quantity);