Sumário

Search

  1. Prefácio
  2. Introdução às Transformações
  3. Portas de Transformação
  4. Caches de Transformação
  5. Transformação de Validador de Endereço
  6. Transformação de Agregador
  7. Transformação de Associação
  8. Transformação de Exceção de Registro Inválido
  9. Transformação de Conversor de Maiúsculas/Minúsculas
  10. Transformação de Classificador
  11. Transformação de Comparação
  12. Transformação de Consolidação
  13. Transformação de Mascaramento de Dados
  14. Transformação do Processador de Dados
  15. Transformação de Decisão
  16. Transformação de Exceção de Registro Duplicado
  17. Transformação de Expressão
  18. Transformação de Filtro
  19. Transformação Hierárquica para Relacional
  20. Transformação Java
  21. Referência da API da transformação Java
  22. Expressões Java
  23. Transformação de Associador
  24. Transformação de Gerador de Chaves
  25. Transformação de Rotulador
  26. Transformação de Pesquisa
  27. Caches de Pesquisa
  28. Cache de Pesquisa Dinâmica
  29. Transformação de Correspondência
  30. Transformações de Correspondência na Análise de Campos
  31. Transformações de Correspondência na Análise de Identidade
  32. Transformação Normalizador
  33. Transformação de Mesclagem
  34. Transformação de Analisador
  35. Transformação Python
  36. Transformação de Classificação
  37. Transformação de Leitura
  38. Transformação de Relacional para Hierárquica
  39. Transformação de Consumidor de Serviço da Web REST
  40. Transformação de Roteador
  41. Transformação de Gerador de Sequência
  42. Transformação de Ordenador
  43. Transformação SQL
  44. Transformação de Padronizador
  45. Transformação de União
  46. Transformação de Estratégia de Atualização
  47. Transformação de Consumidor de Serviço da Web
  48. Analisando Mensagens SOAP de Serviços da Web
  49. Gerando Mensagens SOAP de Serviços da Web
  50. Transformação de Média Ponderada
  51. Transformação de Janela
  52. Transformação de Gravação
  53. Delimitadores de Transformação

Guia de Transformação do Developer

Guia de Transformação do Developer

Conjuntos de Resultados com Diferentes Bancos de Dados

Conjuntos de Resultados com Diferentes Bancos de Dados

Configure procedimentos armazenados para retornar conjuntos de resultados usando uma sintaxe diferente com base no tipo de banco de dados.

Oracle

Uma função armazenada Oracle retorna resultados com um 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;
O Oracle só aceita cursores como parâmetros de entrada. Você pode configurar cursores como parâmetros de entrada com a transformação SQL.

Microsoft SQL Server

Um procedimento armazenado do Microsoft SQL Server retorna um procedimento armazenado de conjuntos de resultados com uma instrução SELECT no corpo do procedimento ou com o tipo de retorno explicitamente declarado como uma tabela.
Create PROCEDURE InOut( @inout varchar(100) OUT ) AS BEGIN set @inout = concat(@inout,'__') select * from mytable; END

IBM DB2

Um procedimento armazenado do IBM DB2 pode retornar um conjunto de resultados com um cursor aberto. O número de conjuntos de resultados retornados são declarados na cláusula RESULT SET. O procedimento armazenado abre um cursor e o retorna. O exemplo a seguir retorna 2 cursores abertos.
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

Um procedimento armazenado do Sybase retorna um procedimento armazenado de conjunto de resultados com uma instrução select no corpo do procedimento ou com o tipo de retorno explicitamente declarado como uma tabela.
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