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
  • ¿Cómo bloquear un tabla o los registros de consulta?
  • Acceso a ORACLE nativo
  • Acceso 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
Solía cerrar con llave:
  • Los datos completos tabla, en modo de lectura y escritura. Los demás ordenadores no pueden acceder a estos datos.
  • Los registros seleccionados por la consulta. Los otros ordenadores no pueden acceder a estos datos. Este método se puede utilizar para actualizar registros, por ejemplo. El resultado de la consulta no se devuelve.
La función SQLLock se puede utilizar en todos los Conectores Nativos (excepto SQLite y XML) así como en algunos proveedores OLE DB (según la capacidad del proveedor y de la base de datos). Esta función no tiene ningún efecto para las tablas a las que acceden los controladores ODBC.
Ejemplo
Qry is string
// Start of transaction for lock
SQLTransaction(sqlStart)
// Locks the entire table
SQLLock("CUSTOMER", "Table")
// Runs the query
Qry = "UPDATE CUSTOMER SET CUSTOMERNAME = 'DOE' WHERE CUSTOMERREF = 1043"
SQLExec(Qry, "QRY1")
// Unlock the file
SQLTransaction(sqlCommit)
QryLock, QryUpdate are strings
// Start of transaction for lock
SQLTransaction(sqlStart)
// Definition of Query
QryLock = "SELECT * FROM CUSTOMER WHERE CUSTOMERREF = 1043"
// Lock the result of SELECT query
SQLLock(QryLock)
// Define an update query
QryUpdate = "UPDATE CUSTOMER SET CUSTOMERNAME = 'DOE' WHERE CUSTOMERREF = 1043"
// Run an update query
SQLExec(QryUpdate, "QRY1")
// Unlock the records
SQLTransaction(sqlCommit)
Sintaxis

Bloqueo de todo un dato tabla Ocultar los detalles

<Result> = SQLLock(<Table name> , <"Table">)
<Result>: booleano
  • True si se realizó el bloqueo,
  • False en caso contrario.
<Table name>: Cadena de caracteres
Nombre de los datos tabla a bloquear.
<"Table">: Cadena de caracteres
"Tabla": Cadena de caracteres utilizada para bloquear un dato tabla en su totalidad.

Bloquear los registros seleccionados por una consulta Ocultar los detalles

<Result> = SQLLock(<Query text>)
<Result>: booleano
  • True si se realizó el bloqueo,
  • False en caso contrario.
<Query text>: Cadena de caracteres
Texto de la consulta utilizado para seleccionar los registros a bloquear.
Observaciones

¿Cómo bloquear un tabla o los registros de consulta?

Para bloquear un tabla (o los registros de consulta):
  1. Inicie una transacción (función SQLTransaction con la constante sqlStart).
  2. Bloquee los registros (función SQLLock).
    Atención: si bloquea los registros de consulta, se ejecuta la consulta pero no se devuelve el resultado.
  3. Desbloquee los registros al terminar la transacción (función SQLTransaction con la constante sqlEnd).
WEBDEV - Código ServidorConectores Nativos

Acceso a ORACLE nativo

Se puede configurar el comportamiento de la función SQLLock cuando el registro está bloqueado (espera infinita, informe de bloqueo inmediato, etc.). Este ajuste se realiza en las opciones de WDORAINS.
WEBDEV - Código ServidorConectores Nativos

Acceso Nativo MySQL

SQLLock y SQLTransaction se utilizan para gestionar bloqueos y transacciones sólo en tablas "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