Permite insertar los datos de una tabla virtual en una tabla de la base de datos. La tabla sobre la que se insertan los datos, puede ser temporal o una tabla estática.
1 vtable.insertIntoTable
<vtable.insertIntoTable
table='table'
columns='columns'
>
<vtable /> !
</vtable.insertIntoTable>
Attributes | |||||
---|---|---|---|---|---|
Name | Type | Required | Default | Description | |
Atable | string | Nombre de la tabla sobre la que se vuelcan los registros de la tabla virtual. | |||
Acolumns | string | Nombre de las columnas de la tabla a insertar que corresponden a las columnas de la tabla virtual. Sólo se requiere si la tabla sobre la que se insertan registros, tiene columnas que no existen en la tabla virtual. |
Arguments | |||||
---|---|---|---|---|---|
Name | Type | Required | Unique | Nullable | Description |
Evtable | vtable |
Example
Inserta en una tabla temporal los registro de la vtable, cuyo pais (store_country), es "USA".
Copy
<xsql-script name='vtable_insertIntoTable_sample1'> <body> <vtable name='v1'> <column name='store_country' type='char' /> <column name='store_state' type='char' /> <column name='store_type' type='char' /> <column name='store_sqft' type='integer' /> </vtable> <vtable.insert name='v1'> <matrix> { "Canada", "BC", "Deluxe Supermarket", "23112"} { "Canada", "BC", "Mid-Size Grocery", "34452"} { "Mexico", "DF", "Deluxe Supermarket", "0" } { "Mexico", "DF", "Mid-Size Grocery", "36509"} { "Mexico", "Guerrero", "Supermarket", "23593"} { "Mexico", "Jalisco", "Small Grocery", "24597"} { "Mexico", "Veracruz", "Supermarket", "34791"} { "Mexico", "Yucatan", "Deluxe Supermarket", "30797"} { "Mexico", "Zacatecas", "Deluxe Supermarket ", "30584"} { "Mexico", "Zacatecas", "Gourmet Supermarket", "23759"} { "Mexico", "Zacatecas", "Mid-Size Grocery ", "38382"} { "USA", "CA", "Gourmet Supermarket", "23688"} { "USA", "CA", "HeadQuarters", "0" } { "USA", "CA", "Small Grocery", "22478"} { "USA", "CA", "Supermarket", "23598"} { "USA", "OR", "Deluxe Supermarket", "27694"} { "USA", "OR", "Supermarket", "20319"} { "USA", "WA", "Deluxe Supermarket", "33858"} { "USA", "WA", "Mid-Size Grocery", "0" } { "USA", "WA", "Small Grocery", "28206"} { "USA", "WA", "Supermarket", "91179"} </matrix> </vtable.insert> <table name='@tmp_v1' temp='y'> <column name='store_country' type='char' size='15' required='y' /> <column name='store_state' type='char' size='15' required='y' /> <column name='store_type' type='char' size='25' required='y' /> <column name='store_sqft' type='integer' required='y' /> </table> <index name='@i_tmp_v1' table='@tmp_v1' columns='store_country, store_state, store_type' unique='y' /> <vtable.insertIntoTable table='@tmp_v1'> <vtable.filter name='v1'> <column name='store_country' regexp='USA' /> </vtable.filter> </vtable.insertIntoTable> <print.sql head='true'> <select> <columns>*</columns> <from table='@tmp_v1' /> </select> </print.sql> </body> </xsql-script>
El resultado de ejecución es:
Copy
+---------------+---------------+--------------------+----------+ |store_country |store_state |store_type |store_sqft| |char |char |char |int | +---------------+---------------+--------------------+----------+ |USA |CA |Gourmet Supermarket | 23688| |USA |CA |HeadQuarters | 0| |USA |CA |Small Grocery | 22478| |USA |CA |Supermarket | 23598| |USA |OR |Deluxe Supermarket | 27694| |USA |OR |Supermarket | 20319| |USA |WA |Deluxe Supermarket | 33858| |USA |WA |Mid-Size Grocery | 0| |USA |WA |Small Grocery | 28206| |USA |WA |Supermarket | 91179| +---------------+---------------+--------------------+----------+
Example
Inserta en una tabla temporal los registro de la vtable, cuyo pais (store_country), es "USA". En la temporal no se inserta la columna del vtable, store_sqft, con la superficie en pies cuadrados.
Copy
<xsql-script name='vtable_insertIntoTable_sample2'> <body> <vtable name='v1'> <column name='store_country' type='char' /> <column name='store_state' type='char' /> <column name='store_type' type='char' /> <column name='store_sqft' type='integer' /> </vtable> <vtable.insert name='v1'> <matrix> { "Canada", "BC", "Deluxe Supermarket", "23112"} { "Canada", "BC", "Mid-Size Grocery", "34452"} { "Mexico", "DF", "Deluxe Supermarket", "0" } { "Mexico", "DF", "Mid-Size Grocery", "36509"} { "Mexico", "Guerrero", "Supermarket", "23593"} { "Mexico", "Jalisco", "Small Grocery", "24597"} { "Mexico", "Veracruz", "Supermarket", "34791"} { "Mexico", "Yucatan", "Deluxe Supermarket", "30797"} { "Mexico", "Zacatecas", "Deluxe Supermarket ", "30584"} { "Mexico", "Zacatecas", "Gourmet Supermarket", "23759"} { "Mexico", "Zacatecas", "Mid-Size Grocery ", "38382"} { "USA", "CA", "Gourmet Supermarket", "23688"} { "USA", "CA", "HeadQuarters", "0" } { "USA", "CA", "Small Grocery", "22478"} { "USA", "CA", "Supermarket", "23598"} { "USA", "OR", "Deluxe Supermarket", "27694"} { "USA", "OR", "Supermarket", "20319"} { "USA", "WA", "Deluxe Supermarket", "33858"} { "USA", "WA", "Mid-Size Grocery", "0" } { "USA", "WA", "Small Grocery", "28206"} { "USA", "WA", "Supermarket", "91179"} </matrix> </vtable.insert> <table name='@tmp_v1' temp='y'> <column name='store_country' type='char' size='15' required='y' /> <column name='store_state' type='char' size='15' required='y' /> <column name='store_type' type='char' size='25' required='y' /> </table> <index name='@i_tmp_v1' table='@tmp_v1' columns='store_country, store_state, store_type' unique='y' /> <vtable.insertIntoTable table='@tmp_v1' columns='store_country, store_state, store_type'> <vtable.filter name='v1'> <column name='store_country' regexp='USA' /> </vtable.filter> </vtable.insertIntoTable> <print.sql head='true'> <select> <columns>*</columns> <from table='@tmp_v1' /> </select> </print.sql> </body> </xsql-script>
El resultado de ejecución es:
Copy
+---------------+---------------+--------------------+ |store_country |store_state |store_type | |char |char |char | +---------------+---------------+--------------------+ |USA |CA |Gourmet Supermarket | |USA |CA |HeadQuarters | |USA |CA |Small Grocery | |USA |CA |Supermarket | |USA |OR |Deluxe Supermarket | |USA |OR |Supermarket | |USA |WA |Deluxe Supermarket | |USA |WA |Mid-Size Grocery | |USA |WA |Small Grocery | |USA |WA |Supermarket | +---------------+---------------+--------------------+