1
0

merge_server_port.db2 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. /**
  2. * @ Author: Marshall Telaumbanua
  3. * @ Create Time: 2023-06-07 19:52:33
  4. * @ Usage: CALL MWCONFIG.MERGE_SERVER_PORT(ADAPTOR_ID, PORT, SERVER, GROUP)
  5. */
  6. CREATE OR REPLACE PROCEDURE MERGE_SERVER_PORT (
  7. IN ADAPTOR_ID VARCHAR(256),
  8. IN PORT INTEGER,
  9. IN SERVER VARCHAR(256),
  10. IN GROUP VARCHAR(256),
  11. IN MODIFIED_BY VARCHAR(64) DEFAULT CURRENT_USER,
  12. IN TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  13. )
  14. LANGUAGE SQL
  15. BEGIN
  16. DECLARE SQL_STMT VARCHAR(10000);
  17. SET SQL_STMT = 'MERGE INTO MWCONFIG.SERVER_PORT AS T ' ||
  18. 'USING (VALUES (''' || ADAPTOR_ID || ''', ' || PORT || ', ''' || SERVER || ''', ''' || GROUP || ''')) AS S (ADAPTOR_ID, PORT, SERVER, "GROUP") ' ||
  19. 'ON (T.ADAPTOR_ID = S.ADAPTOR_ID) ' ||
  20. 'WHEN MATCHED THEN ' ||
  21. ' UPDATE SET ' ||
  22. ' T.PORT = S.PORT, ' ||
  23. ' T.SERVER = S.SERVER, ' ||
  24. ' T.GROUP = S.GROUP ' ||
  25. 'WHEN NOT MATCHED THEN ' ||
  26. ' INSERT (ADAPTOR_ID, PORT, SERVER, "GROUP") ' ||
  27. ' VALUES (S.ADAPTOR_ID, S.PORT, S.SERVER, S.GROUP)';
  28. PREPARE STMT FROM SQL_STMT;
  29. EXECUTE STMT;
  30. END
  31. @