데이터베이스 컨텐츠 변경

Compute, DatabaseFilter 노드를 사용하여 데이터를 갱신, 삽입 또는 삭제하여 데이터베이스의 컨텐츠를 변경할 수 있습니다.

태스크 정보

다음의 ESQL 코드에는 세 가지 조작을 모두 보여주는 명령문이 있습니다. 이 코드는 데이터베이스 및 필터 노드에 적합합니다. 이 코드를 Compute 노드용으로 작성한 경우 루트 대신 상관 이름 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;