Procedimento armazenado VIRTUALIZENATIVEQUERY
Virtualize uma consulta remota para um apelido Db2 com uma definição apropriada de uma consulta nativa remota. A consulta nativa pode ser qualquer dialeto que a fonte de dados remota e o driver subjacente suportem.
Parâmetros de entrada
- Origem
- O tipo desse parâmetro necessário é VARCHAR(2000). Especifica as fontes às quais o Db2 apelido pode acessar.
- CONSULTANATIVA
- O tipo desse parâmetro necessário é VARCHAR(32672). Especifica a instrução de consulta nativa a ser executada na fonte de dados remota para essa virtualização.
- VIRTSCHEMA
- O tipo desse parâmetro necessário é VARCHAR(128). Especifica o esquema local da tabela virtualizada.
- VIRTNAME
- O tipo desse parâmetro necessário é VARCHAR(128). Especifica o nome local da tabela virtualizada.
- SUBSTITUIR
- O tipo desse parâmetro obrigatório é CHAR(1). Os valores válidos são:
- Y: Substitui o apelido, se ele existir.
- NNão substitui o apelido, se existir.
- Caso contrário, retorne o erro.
Observação: todos os parâmetros são VARCHAR ou CHAR, portanto, todos os valores de parâmetros estão entre aspas simples (não aspas duplas). Como o caractere de aspas simples é o caractere delimitador reservado para todas as cadeias de caracteres (VARCHAR e CHAR). Se alguma aspa simples precisar ser incluída como parte de um valor de parâmetro, a aspa simples deverá ser substituída por outra aspa simples.
Por exemplo, o caractere A é denotado como ' ' A ' '.
Parâmetros de saída
- DIAGRAMAS
- O tipo desse parâmetro é VARCHAR(32672). Representa as mensagens de diagnóstico.
Sintaxe
Use a seguinte sintaxe e substitua os parâmetros para este procedimento armazenado:
CALL DVSYS.VIRTUALIZENATIVEQUERY('<SOURCE>', '<NATIVEQUERY>', '<VIRTSCHEMA>', '<VIRTNAME>', '', '', '<REPLACE>', ?);
Exemplo
Virtualize a consulta nativa Db2 de uma fonte de dados Db2 remota em Data Virtualization. O exemplo a seguir cria uma tabela virtual
WQ_VIRTUAL_TABLE_TEST, no esquema virtual WQ_VIRTUAL_SCHEMA_A, usando os dados que retornam da fonte de dados remota Db2 ( DB210000 ) da consulta nativa Db2 SELECT * FROM SCHEMA.TABLE WHERE
COLUMN_A='A'.CALL DVSYS.VIRTUALIZENATIVEQUERY('DB210000', 'SELECT * FROM SCHEMA.TABLE WHERE COLUMN_A=' 'A' ' ','WQ_VIRTUAL_SCHEMA_A','WQ_VIRTUAL_TABLE_TEST','','','Y',? );