Incluindo Operações Baseadas em Scripts SQL

É possível criar operações que executam qualquer instrução SQL suportada pelo banco de dados.

Restrições:
  • Você pode incluir uma instrução SQL por operação.
  • Cada operação dentro de um serviço da Web deve ter um nome exclusivo.

Sobre esta tarefa:

Nas instruções SQL, é possível utilizar todos os tipos de dados que são suportados pelo JDBC 3.0, exceto para ARRAY, DISTINCT, JAVA_OBJECT, OTHER, REF e STRUCT. Também é possível utilizar o tipo de dados XML do DB2 e o tipo de dados ROWID suportado pelo DB2 para z/OS.

Utilize os parâmetros nomeados ou posicionados em cláusulas WHERE e instruções que aceitam valores.

Parâmetros Nomeados
Há duas vantagens para utilizar os parâmetros nomeados:
  • Nomes tornam o esquema XML padrão mais detalhado e podem descrever o significado do parâmetro para os aplicativos cliente.
  • É possível designar um parâmetro para mais de uma variável de host, o qual é útil para as visualizações UNION ALL.
Os parâmetros nomeados começam com dois pontos e, geralmente, são nomeados depois da variável de host correspondente, como neste exemplo em que :empno é o parâmetro e empno é a variável de host:
SELECT * FROM employee where empno=:empno
No esquema XML resultante, a entrada para o parâmetro pode ser semelhante a esta:
<element name="empno" type="xsd:string"/>
Os nomes fazem distinção entre maiúsculas e minúsculas e devem ser nomes de tags XML válidos. Se o nome de um parâmetro contiver caracteres ou seqüências de caracteres que não são válidos no XML, o ambiente de trabalho automaticamente aplicará as regras de escape do SQL/XML ao nome. Por exemplo, um parâmetro chamado xml é transformado em _xFFFF_xml. Assim, se você fosse utilizar esse parâmetro como um parâmetro de entrada em um pedido HTTP GET, a URL seria semelhante a este exemplo:
http://localhost:8080/ContextRoot/rest/MyService?_xFFFF_xml=1234
Parâmetros Posicionais
Esses parâmetros são pontos de interrogação que representam as variáveis de host. Os valores são designados por posição em vez de nomes. Essa instrução INSERT utiliza parâmetros posicionais:
INSERT INTO employee VALUES (?, ?, ?, ?)
No esquema XML resultante, as entradas para os parâmetros podem ser semelhantes a esta:
<element name="p1" type="xsd:int"/>
<element name="p2" type="xsd:string"/>
<element name="p3" type="xsd:string"/>
<element name="p4" type="xsd:anyType" nillable="true"/>

Procedimento:

Para incluir em um serviço da Web uma operação baseada em um script SQL:

Tarefas relacionadas
Incluindo Operações Baseadas em Chamadas para Procedimentos Armazenados
Desenvolvendo Serviços da Web com o Ambiente de Trabalho
Informações relacionadas
Editor SQL

Feedback