1 vtable.insert
Añade registros a una tabla virtual.
<vtable.insert
name='name'
prefix='prefix'
columns='columns'
position='position'
>
<column name='name'> *
<value /> !
</column>
<matrix date-format='date-format'> *
<cdata> !
<matrix /> !
</cdata>
</matrix>
<select /> *
<union /> *
<nativesql /> *
<in> *
<vtable /> *
<sqlresponse /> *
</in>
<values /> *
</vtable.insert>
Attributes | |||||
---|---|---|---|---|---|
Name | Type | Required | Default | Description | |
Aname | string | Nombre de la tabla virtual. | |||
Aprefix | string | Prefijo de la variable que contiene los datos a insertar. | |||
Acolumns | string | En el caso de insercción por prefijo, permite seleccionar las columnas a insertar. | |||
Aposition | integer | Permite seleccionar la posición en las filas donde se insertara la vtable y desplazara el resto de vtables. |
Arguments | |||||
---|---|---|---|---|---|
Name | Type | Required | Unique | Nullable | Description |
Ecolumn | Asigna un valor a una columna. | ||||
Aname | string | Nombre de la columna. | |||
Evalue | object | ||||
Ematrix | Permite definir los datos a insertar en una notación en forma de matriz. | ||||
Adate-format | string | Permite especificar formato de las fechas en 'dd-MM-yyyy HH:mm:ss'. | |||
Ecdata |
|
||||
Ematrix | String[][] | ||||
Eselect | Se puede escribir una consulta select en XML el resultado de la cual se guarda en la vtable. | ||||
Eunion | Se puede escribir una consulta union-select en XML el resultado de la cual se guarda en la vtable. | ||||
Enativesql | Se puede escribir una consulta en SQL nativo el resultado de la cual se guarda en la vtable. | ||||
Ein |
Se pueden indicar los valores del registro a insertar directamente, como por ejemplo.
|
||||
Evtable | Una vtable. | ||||
Esqlresponse | Una respuesta SOAP XML. | ||||
Evalues |
|
Returns | |
---|---|
Type | Description |
Vtable | El propio objeto. |
Exceptions
attribute name required
No se ha especificado el nombre del campo de la tabla.
vtable name required
No se ha especificado el nombre de la vtable.
Crea vtable e inserta.
<xsql-script name='vtable_insert_sample1'> <body> <vtable name='personas'> <column name='dni' type='string' unique='true' /> <column name='nombre' type='string' /> <column name='apellido1' type='string' /> <column name='apellido2' type='string' /> </vtable> <vtable.insert name='personas'> <string>46352700Z</string> <string>John</string> <string>Smith</string> <string>Simpson</string> </vtable.insert> <println> <vtable.update name='personas' row='0'> <column name='nombre'><string>George</string></column> </vtable.update> </println> </body> </xsql-script>
Se genera una tabla virtual de nombre personas, compuesta de cuatro columnas de tipo string: dni, nombre, apellido1 y apellido2. Posteriormente, se le inserta un registro. Con el elemento <vtable.update> se actualiza el contenido de la columna nombre ( <column name='nombre'>) del primer y único registro( row='0').
Crea vtable e inserta informando nombres de columnas.
<xsql-script name='vtable_insert_sample2'> <body> <vtable name='personas'> <column name='dni' type='string' unique='true' /> <column name='nombre' type='string' /> <column name='apellido1' type='string' /> <column name='apellido2' type='string' /> <column name='telefono' type='string' /> <column name='fax' type='string' /> </vtable> <vtable.insert name='personas'> <column name='dni'><string>46352700Z</string></column> <column name='nombre'><string>John</string></column> <column name='apellido1'><string>Smith</string></column> <column name='apellido2'><string>Simpson</string></column> <column name='fax'><string>915478795</string></column> </vtable.insert> <vtable.insert name='personas'> <column name='dni'><string>478887874V</string></column> <column name='nombre'><string>Javier</string></column> <column name='apellido1'><string>Pozo</string></column> <column name='apellido2'><string>Garra</string></column> <column name='telefono'><string>933724578</string></column> </vtable.insert> <println> <personas /> </println> </body> </xsql-script>
Obsérvese que usando el tag column para indicar la columna a la que pertenece un objeto dentro de vtable.insert es posible omitir algunas columnas (ya sea en la última posición o en otra cualquiera); el sistema inserta un valor NULL.
Crea vtable e inserta en bloque un matriz de datos.
<xsql-script name='vtable_insert_sample3'> <body> <vtable name='v_art_solic'> <column name='delega' type='string' /> <column name='depart' type='string' /> <column name='codart' type='string' /> <column name='varlog' type='string' /> <column name='cansol' type='decimal' /> </vtable> <vtable.insert name='v_art_solic'> <matrix> { "D01", "P01", "024099", "0", "12" }, { "D01", "P01", "024099", "0", "20" }, { "D01", "P01", "026147", "0", "10" }, { "D01", "P01", "026147", "0", "20" }, { "D01", "P01", "026147", "2", "15" }, { "D01", "P01", "026147", "2", "18" }, { "D02", "0", "024099", "0", "12" }, { "D02", "0", "024099", "0", "20" }, { "D02", "0", "024099", "0", "25" }, { "D02", "0", "024099", "0", "10" }, { "D02", "0", "026147", "0", "10" }, { "D02", "0", "026147", "3", "20" } </matrix> </vtable.insert> <println> <v_art_solic /> </println> </body> </xsql-script>
Crea vtable e inserta mediante prefijo de variables.
<xsql-script name='vtable_insert_sample4'> <body> <vtable name='v_test'> <column name='docser' type='string' size='16' unique='true' /> <column name='fecha' type='date' /> <column name='imptot' type='decimal' size='14' scale='2' /> <column name='clasif' type='string' size='12' /> </vtable> <set name='gcomfach_docser'>FC-000001</set> <set name='gcomfach_fecha'><date.today /></set> <set name='gcomfach_imptot'>100.55</set> <vtable.insert name='v_test' prefix='gcomfach_' columns='docser,fecha' /> <println> <v_test /> </println> </body> </xsql-script>
En el ejemplo se insertan los valores, de las variables del prefijo especificado, de las columnas indicadas mediante el atributo columns.
Crea vtable e inserta los registros devueltos por una query a tabla física.
<xsql-script name='vtable_insert_sample4'> <body> <vtable name='v_test'> <column name='docser' type='string' size='16' unique='true' /> <column name='fecha' type='date' /> <column name='import' type='decimal' size='14' scale='2' /> </vtable> <vtable.insert name='v_test'> <select prefix='m_'> <columns> docser, fecha, import </columns> <from table='cefectos' /> <where> docser LIKE 'A%' </where> <order> docser </order> </select> </vtable.insert> <println> <v_test /> </println> </body> </xsql-script>
En el ejemplo se insertan los registros devueltos por la query a la tabla cefectos.