AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Administrar bases de datos / Funciones SQL
  • Sintaxis 2: Realización de una transacción en una conexión
  • Operaciones de anidamiento
  • Cierres y transacciones
  • Conector Nativo MySQL
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Inicia, compromete o revierte una transacción:
  • en los archivos de una base de datos abierta por SQLConnect,
  • en los archivos de una base de datos abierta por una conexión (OLE DB o Native Access/Conector Nativo) descrita en el editor de análisis o por HOpenConnection.
Observación: Esta función es la única función SQL que se puede utilizar con las funciones HFSQL (para realizar transacciones en una base de datos externa manejada por las funciones HFSQL, por ejemplo).
WINDEVJavaCódigo de Usuario (UMC)OLE DB
ConnectionNum is int = SQLConnect("MyDatabase", "User", "Password", "", ...
"OLEDB", "MyProvider")
IF ConnectionNum = 0 THEN
SQLInfo()
Error("Error while opening the connection: " + SQL.MesError)
ELSE
// Put the connection in transaction
SQLTransaction(sqlStart)
// Modify the value of all the AFile.AnItem items
IF SQLExec("UPDATE AFile SET AnItem = 'new value", ...
"UpdateQuery") = True THEN
// End the transaction
SQLTransaction(sqlCommit)
ELSE
SQLInfo("UpdateQuery")
Error("Error while running the query: " + SQL.MesError)
// Cancel the transaction
SQLTransaction(sqlRollBack)
// The content of AFile did not change
END
END
Sintaxis

Transacción en los archivos de una base de datos abierta por SQLConnect Ocultar los detalles

<Result> = SQLTransaction(<Indicator>)
<Result>: booleano
  • True si se realizó la operación,
  • False en caso contrario.
<Indicator>: Constante de tipo Integer
Tipo de operación de transacción a realizar:
sqlCommitFinalice la transacción.
sqlRollBackCancela la transacción.
sqlStartInicia la transacción.
Observación: Esta sintaxis no está disponible en Android.
WINDEVCódigo de Usuario (UMC)

Transacción en los archivos de una base de datos abierta por una conexión descrita en el análisis o por HOpenConnection Ocultar los detalles

<Result> = SQLTransaction(<Indicator> , <Connection>)
<Result>: booleano
  • True si se realizó la operación,
  • False en caso contrario.
<Indicator>: Constante de tipo Integer
Tipo de operación de transacción a realizar:
sqlCommitFinalice la transacción.
sqlRollBackCancela la transacción.
sqlStartInicia la transacción.
<Connection>: Cadena de caracteres
Nombre de la conexión utilizada para acceder a la base de datos. Este nombre fue definido en la editor de análisis o por la HOpenConnection. Esta conexión debió haberse descrito al llamar a la función SQLTransaction. Si la conexión no se abre al llamar a la función SQLTransaction, la conexión especificada se abre automáticamente.
Observaciones

Sintaxis 2: Realización de una transacción en una conexión

Para realizar una transacción en una conexión, debe hacerlo:
  1. Iniciar la conexión (función SQLTransaction(sqlStart)).
  2. Realice las operaciones en los archivos de datos con las funciones HFSQL correspondientes.
  3. Finalice la transacción:
    • ya sea validando las operaciones realizadas (función SQLTransaction(sqlCommit)).
    • anulando las operaciones realizadas (SQLTransaction(sqlRollBack)).

Operaciones de anidamiento

Las transacciones pueden ser anidadas.
Java Las transacciones no se pueden anidar. Un error de WLanguage ocurre si una transacción se inicia mientras otra transacción está en progreso.

Cierres y transacciones

SQLTransaction no bloquea los archivos o registros de datos. SQLTransaction inicia, compromete o revierte una transacción.
Si se inicia una transacción:
  • Las operaciones de escritura en las tablas pueden provocar bloqueos (por ejemplo, en una base de datos HFSQL, las operaciones de escritura bloquean los registros).
  • las operaciones de lectura pueden provocar bloqueos en algunas bases de datos si el nivel de aislamiento es "repetible-lectura" o "serializable" (note que este no es el caso en las bases de datos HFSQL).
WINDEVCódigo de Usuario (UMC)Conectores Nativos

Conector Nativo MySQL

SQLLock y SQLTransaction se utilizan para gestionar bloqueos y transacciones sólo en tablas MySQL "InnoDB".
Componente: wd290hf.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 08/06/2022

Señalar un error o enviar una sugerencia | Ayuda local