Compute、Database、および Filter ノードを使用し、 データを更新、挿入、または削除することによって、データベースの内容を変更できます。
以下の ESQL コードのステートメントには、これら 3 つの操作がすべて含まれます。 このコードは Database および Filter ノード用として適切です。 Compute ノード用にこれをコーディングする場合、Root の代わりに相関名 InputRoot を使用します。
IF Root.XMLNS.TestCase.Action = 'INSERT' THEN
INSERT INTO Database.STOCK (STOCK_ID, STOCK_DESC, STOCK_QTY_HELD,
BROKER_BUY_PRICE, BROKER_SELL_PRICE, STOCK_HIGH_PRICE, STOCK_HIGH_DATE,
STOCK_HIGH_TIME) VALUES
(CAST(Root.XMLNS.TestCase.stock_id AS INTEGER),
Root.XMLNS.TestCase.stock_desc,
CAST(Root.XMLNS.TestCase.stock_qty_held AS DECIMAL),
CAST(Root.XMLNS.TestCase.broker_buy_price AS DECIMAL),
CAST(Root.XMLNS.TestCase.broker_sell_price AS DECIMAL),
Root.XMLNS.TestCase.stock_high_price,
CURRENT_DATE,
CURRENT_TIME);
ELSEIF Root.XMLNS.TestCase.Action = 'DELETE' THEN
DELETE FROM Database.STOCK WHERE STOCK.STOCK_ID =
CAST(Root.XMLNS.TestCase.stock_id AS INTEGER);
ELSEIF Root.XMLNS.TestCase.Action = 'UPDATE' THEN
UPDATE Database.STOCK as A SET STOCK_DESC = Root.XMLNS.TestCase.stock_desc
WHERE A.STOCK_ID = CAST(Root.XMLNS.TestCase.stock_id AS INTEGER);
END IF;