以下のスクリプトは、ULOrderIDPool テーブルで定義されています。
download_cursor CustDB の download_cursor スクリプトを次に示します。
SELECT pool_order_id FROM ULOrderIDPool WHERE last_modified >= {ml s.last_table_download} AND pool_emp_id = {ml s.username} |
end_upload 次の end_upload スクリプトは、各アップロードの完了後に 20 個の注文 ID が注文 ID プールに残るように処理を行います。
CALL ULOrderIDPool_maintain( {ml s.username} ) |
CustDB の UL_OrderIDPool_maintain プロシージャを次に示します。
ALTER PROCEDURE ULOrderIDPool_maintain ( IN syncuser_id INTEGER ) BEGIN DECLARE pool_count INTEGER; -- Determine how many ids to add to the pool SELECT COUNT(*) INTO pool_count FROM ULOrderIDPool WHERE pool_emp_id = syncuser_id; -- Top up the pool with new ids WHILE pool_count < 20 LOOP INSERT INTO ULOrderIDPool ( pool_emp_id ) VALUES ( syncuser_id ); SET pool_count = pool_count + 1; END LOOP; END |
upload_insert CustDB の upload_insert スクリプトを次に示します。
INSERT INTO ULOrderIDPool ( pool_order_id ) VALUES( {ml r.pool_order_id} |
upload_delete CustDB の upload_delete スクリプトを次に示します。
DELETE FROM ULOrderIDPool WHERE pool_order_id = {ml r.pool_order_id} |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |