以下の ESQL コードのステートメントには、これら 3 つの操作がすべて含まれます。 このコードは Database および Filter ノード用として適切です。 Compute ノード用にこれをコーディングする場合、Root の代わりに相関名 InputRoot を使用します。
IF Root.XML.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.XML.TestCase.stock_id AS INTEGER), Root.XML.TestCase.stock_desc, CAST(Root.XML.TestCase.stock_qty_held AS DECIMAL), CAST(Root.XML.TestCase.broker_buy_price AS DECIMAL), CAST(Root.XML.TestCase.broker_sell_price AS DECIMAL), Root.XML.TestCase.stock_high_price, CURRENT_DATE, CURRENT_TIME); ELSEIF Root.XML.TestCase.Action = 'DELETE' THEN DELETE FROM Database.STOCK WHERE STOCK.STOCK_ID = CAST(Root.XML.TestCase.stock_id AS INTEGER); ELSEIF Root.XML.TestCase.Action = 'UPDATE' THEN UPDATE Database.STOCK as A SET STOCK_DESC = Root.XML.TestCase.stock_desc WHERE A.STOCK_ID = CAST(Root.XML.TestCase.stock_id AS INTEGER); END IF;