18071 - Adicionar Hint a um cursor
Problema: Descrição do Problema:
É possível adicionar um hint dentro de um cursor?
Rotina / Tela: Regras, gerador de relatórios
Solução: Solução:
É possível sim, porém é necessário utilizar essa forma de fazer cursor conforme abaixo:
@Essa regra serve de exemplo para uso de hints dentro de um cursor@
definir alfa Cur_E615OBS;
SQL_Criar(Cur_E615OBS);
SQL_UsarSQLSenior2(Cur_E615OBS,1);
SQL_DefinirComando(Cur_E615OBS,SELECT /*+ rule */ E615OBS.ObsUsu
FROM E615OBS
WHERE /
E615OBS.NumPrj = 1);
SQL_AbrirCursor(Cur_E615OBS);
Se (SQL_EOF(Cur_E615OBS) = 0)
SQL_RetornarInteiro(Cur_E615OBS,ObsUsu,NNumAnt);
SQL_FecharCursor(Cur_E615OBS);
Observação: O hint deve ser utilizado conforme desejado, o exemplo com rule pode não ser o mais indicado dependendo a configuração do banco de dados do cliente.
Essa é uma questão que fica a critério de cada cliente avaliar qual é o melhor hint indicado para sua base.
É possível adicionar um hint dentro de um cursor?
Rotina / Tela: Regras, gerador de relatórios
Solução: Solução:
É possível sim, porém é necessário utilizar essa forma de fazer cursor conforme abaixo:
@Essa regra serve de exemplo para uso de hints dentro de um cursor@
definir alfa Cur_E615OBS;
SQL_Criar(Cur_E615OBS);
SQL_UsarSQLSenior2(Cur_E615OBS,1);
SQL_DefinirComando(Cur_E615OBS,SELECT /*+ rule */ E615OBS.ObsUsu
FROM E615OBS
WHERE /
E615OBS.NumPrj = 1);
SQL_AbrirCursor(Cur_E615OBS);
Se (SQL_EOF(Cur_E615OBS) = 0)
SQL_RetornarInteiro(Cur_E615OBS,ObsUsu,NNumAnt);
SQL_FecharCursor(Cur_E615OBS);
Observação: O hint deve ser utilizado conforme desejado, o exemplo com rule pode não ser o mais indicado dependendo a configuração do banco de dados do cliente.
Essa é uma questão que fica a critério de cada cliente avaliar qual é o melhor hint indicado para sua base.