Table of Contents

Search

  1. Preface
  2. Introduction to Transformations
  3. Transformation Ports
  4. Transformation Caches
  5. Address Validator Transformation
  6. Aggregator Transformation
  7. Association Transformation
  8. Bad Record Exception Transformation
  9. Case Converter Transformation
  10. Classifier Transformation
  11. Comparison Transformation
  12. Consolidation Transformation
  13. Data Masking Transformation
  14. Data Processor Transformation
  15. Decision Transformation
  16. Duplicate Record Exception Transformation
  17. Expression Transformation
  18. Filter Transformation
  19. Hierarchical to Relational Transformation
  20. Java Transformation
  21. Java Transformation API Reference
  22. Java Expressions
  23. Joiner Transformation
  24. Key Generator Transformation
  25. Labeler Transformation
  26. Lookup Transformation
  27. Lookup Caches
  28. Dynamic Lookup Cache
  29. Macro Transformation
  30. Match Transformation
  31. Match Transformations in Field Analysis
  32. Match Transformations in Identity Analysis
  33. Normalizer Transformation
  34. Merge Transformation
  35. Parser Transformation
  36. Python Transformation
  37. Rank Transformation
  38. Read Transformation
  39. Relational to Hierarchical Transformation
  40. REST Web Service Consumer Transformation
  41. Router Transformation
  42. Sequence Generator Transformation
  43. Sorter Transformation
  44. SQL Transformation
  45. Standardizer Transformation
  46. Union Transformation
  47. Update Strategy Transformation
  48. Web Service Consumer Transformation
  49. Parsing Web Service SOAP Messages
  50. Generating Web Service SOAP Messages
  51. Weighted Average Transformation
  52. Window Transformation
  53. Write Transformation
  54. Appendix A: Transformation Delimiters

Developer Transformation Guide

Developer Transformation Guide

Result Sets with Different Databases

Result Sets with Different Databases

Configure stored procedures to return result sets using different syntax based on the database type.

Oracle

An Oracle stored function returns results with a cursor:
create or replace function sp_ListEmp return types.cursortype as l_cursor types.cursorType; begin open l_cursor for select ename, empno from emp order by ename; return l_cursor; end;
Oracle also accepts cursors as input parameters. You cannot configure cursors as input parameters with the SQL transformation.

Microsoft SQL Server

A Microsoft SQL Server stored procedure returns a result set stored procedure with a select statement in the procedure body or with the return type explicitly declared as a table.
Create PROCEDURE InOut( @inout varchar(100) OUT ) AS BEGIN set @inout = concat(@inout,'__') select * from mytable; END

IBM DB2

An IBM DB2 stored procedure can return a resultset with an open cursor. The number of result sets it returns are declared in the RESULT SET clause. The stored procedure opens a cursor and returns it. The below example returns 2 open cursors.
CREATE PROCEDURE TESTMULTIRS (IN i_cmacct CHARACTER(5)) RESULT SETS 2 LANGUAGE SQL BEGIN DECLARE csnum INTEGER; --Declare serial cursors to consume less resources --You do not need a rollable cursor. DECLARE getDeptNo CHAR(50); --Be careful with the estimated length. DECLARE getDeptName CHAR(200); DECLARE c1 CURSOR WITH RETURN FOR s1; SET getDeptNo = 'SELECT DEPTNO FROM DEPT'; SET getDeptName = 'SELECT DEPTNAME FROM DEPT'; PREPARE s1 FROM getDeptNo; OPEN c1; END;

Sybase

A Sybase stored procedure returns a result set stored procedure with a select statement in the procedure body or with the return type explicitly declared as a table.
CREATE PROCEDURE FETCHEMPINFO ( @p_State VARCHAR(5), @e_id INT OUTPUT, @e_name VARCHAR(50) OUTPUT ) AS BEGIN SET NOCOUNT ON SELECT EMP_ID, NAME FROM EMP WHERE STATE = @p_State ORDER BY EMP_ID SET NOCOUNT OFF SELECT @e_id AS EMP_ID, @e_name AS NAME RETURN END GO --Configure the following variables to execute the procedure. DECLARE @p_State VARCHAR(5) DECLARE @EMPID int DECLARE @EMPNAME varchar(50) SET @p_State = 'CA' exec FETCHEMPINFO @p_State, @e_id = @EMPID, @e_name = @EMPNAME GO

0 COMMENTS

We’d like to hear from you!