Usina BRGuía AdvPL
Ingresar
← Todos los temas
GUíA PRáCTICAEn revisión

ChangeQuery y compatibilidad entre bases de datos

Adapta sintaxis de consulta antes de abrirla por DBAccess.

ChangeQuery y compatibilidad entre bases de datosAdvPL
01 · DESCRIPCIÓN GENERAL

Descripción general

ChangeQuery(cQuery) devuelve SQL adaptado al banco actual sin abrir cursor ni ejecutar consulta. Documentación exige ANSI, recomienda WHERE y describe límites del parser: no garantiza toda función nativa de cada SGBD. TCGenQry.PRW comunitario transforma antes de TCGenQry/DbUseArea; no delimita filial explícitamente y no debe copiarse como política de acceso. Ejemplo editorial usa tabla ficticia y solo mide texto devuelto. En consultas reales revisar RetSqlName, filial, eliminación lógica y parámetros vinculados. (TOTVS, s.f., ref. 1; EURAI, s.f., ref. 2)

03 · EJEMPLO PRÁCTICO

Ejemplo comentado

#Include "Protheus.ch"
User Function Ed299()
    Local cSql := "SELECT CODIGO FROM LIVROS WHERE 1 = 1"
    Local cAdaptada
    // Tabla ficticia; no se abre consulta.
    cAdaptada := ChangeQuery(cSql)
    ConOut(cValToChar(Len(cAdaptada)))
Return Nil
Resultado esperado

Longitud depende de parser y banco; sin conjunto de registros ni valor numérico fijo. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

BUENAS PRÁCTICAS
  • No usar ChangeQuery como sanitización ni autorización. Probar consulta y plan en bancos homologados.
  • En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Contenido relacionado

REFERENCIAS
  1. TOTVS. ChangeQuery. TDN. Consulta el 2026-10-26.
  2. EURAI. TCGenQry.PRW. universo_do_desenvolvedor_site, commit a5c83e9490302bdb4a0fc5a9d92c2d569a60773c. Exemplo analisado, sem reprodução integral. Consulta el 2026-10-26.
Estado
En revisión
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR
0 comentario(s) aprobado(s)

Comentarios

Todavía no hay comentarios aprobados.

Inicia sesión con Google o Microsoft para comentar.

Desarrollado con Usina Docs · Alpha