4D v16.3ARRAY TO SELECTION |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
ARRAY TO SELECTION
ARRAY TO SELECTION
El comando ARRAY TO SELECTION copia uno o más arrays en una selección de registros. Todos los campos listados deben pertenecer a la misma tabla. Si una selección existe en el momento del llamado, los elementos del array se colocan en los registros, basados en el orden del array y en el orden de los registros. Si hay más elementos que registros, se crean nuevos registros. Los registros, bien sean nuevos o existentes, se guardan automáticamente. Nota: dado que puede crear nuevos registros, este comando no tiene estado de sólo lectura de la tabla (si la hay) (ver Record Locking). Todos los arrays deben tener el mismo número de elementos. Si los arrays son de diferentes tamaños, se genera un error de sintaxis Este comando efectúa la operación inversa de SELECTION TO ARRAY. Sin embargo, el comando ARRAY TO SELECTION no permite utilizar los campos de diferentes tablas, incluyendo tablas relacionadas, incluso cuando existe una relación automática. Si pasa el parámetro *, 4D no ejecuta inmediatamente la línea de instrucción correspondiente pero la guarda en memoria; de esta forma puede apilar varias líneas que terminen en *. El conjunto de las líneas en espera es ejecutado por una instrucción ARRAY TO SELECTION final sin parámetro *. Por esta razón, ahora el comando puede llamarse sin parámetros. Advertencia: utilice ARRAY TO SELECTION con precaución, porque este comando reemplaza la información de los registros existentes. Si un registro está bloqueado por otro proceso durante la ejecución de ARRAY TO SELECTION, ese registro no se modifica. Todos los registros bloqueados se colocan en LockedSet. Después de la ejecución de ARRAY TO SELECTION, puede probar el conjunto LockedSet para ver si contiene registros bloqueados. Nota: este comando no tiene en cuenta el estado de sólo lectura/lectura-escritura de la tabla que contiene el campo. 4D Server: el comando es optimizado por 4D Server. Los arrays son enviados por el equipo cliente al servidor, y los registros son modificados o creados en el equipo servidor. Como tal solicitud es manejada de modo sincrónico, el equipo cliente debe esperar a que la operación se complete con éxito. En los entornos multiusuario o multiproceso, ningún registro bloqueado será sobrescrito. En el siguiente ejemplo, los arrays asApellidos y asEmpresas escriben datos en la tabla [Personas]. Los valores del array asApellidos se ubican en el campo [Personas]Apellido y los valores del array asEmpresas se ubican en el campo [Personas]Empresa: ARRAY TO SELECTION(asApellidos;[Personas]Apellido;asEmpresas;[Personas]Empresa) Usted desea copiar una selección de registros a una tabla archivo seleccionando los campos de acuerdo con el valor de opción: ARRAY TEXT($_name;0)
Ver también
|
PROPIEDADES
Producto: 4D HISTORIA
Modificado: 4D v11 SQL ARTICLE USAGE
Manual de lenguaje 4D ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||