Download a table or some columns of the table to a text file. Temporary tables with automatically generated name are also supported (name specified with the "@" symbol).

1 table.unload

<table.unload
    columns='columns'
    date-format='date-format'
    decimal-format='decimal-format'
    delimiter='delimiter'
    enclosing-char='enclosing-char'
    encoding='encoding'
    gzip='gzip'
    qrycond='qrycond'
    orderby='orderby'
    table='table'
>
    <file /> ?
</table.unload>

Exceptions

requires 1 arguments, received: [...]

Wrong number of arguments specified.

Example

Download all columns of a table.

Copy
<xsql-script name='table_unload_sample1'>
    <body>

     <table name='persones'>
        <column name='dni'     type='char'    size='9'  />
        <column name='nom'     type='varchar' size='20' />
        <column name='cognom'  type='varchar' size='25' />
    </table>

    <insert table='persones'>
        <column name='dni'>X58847731</column>
        <column name='nom'>Pedro</column>
        <column name='cognom'> Martinez de la Rosa</column>
    </insert>

    <insert table='persones'>
        <column name='dni'>X58847732</column>
        <column name='nom'>Juan</column>
        <column name='cognom'>Sebastina veron</column>
    </insert>

    <insert table='persones'>
        <column name='dni'>988377456</column>
        <column name='nom'>Ramiro</column>
        <column name='cognom'>Sanchez ordoñez</column>
    </insert>

    <table.unload table='persones'>
        <file name='export.unl' />
    </table.unload>

    <file.in.open id='in1'><file name='export.unl' /></file.in.open>

    <println><file.in.readAll id='in1' /></println>


    <drop table='persones' />


    </body>
</xsql-script>

El resultado de la ejecución del ejemplo sería el siguiente:

Copy
X58847731|Pedro| Martinez de la Rosa|
X58847732|Juan|Sebastina veron|
988377456|Ramiro|Sanchez ordoñez|
Example

Descargar algunas columnas con un delimitador de campos ;.

Copy
<xsql-script name='table_unload_sample2'>
	<body>
		<table name='persones'>
			<column name='dni' type='char' size='9' />
			<column name='nom' type='varchar' size='20' />
			<column name='cognom' type='varchar' size='25' />
		</table>

		<insert table='persones'>
			<column name='dni'>X58847731</column>
			<column name='nom'>Pedro</column>
			<column name='cognom'> Martinez de la Rosa</column>
		</insert>

		<insert table='persones'>
			<column name='dni'>X58847732</column>
			<column name='nom'>Juan</column>
			<column name='cognom'>Sebastina veron</column>
		</insert>

		<insert table='persones'>
			<column name='dni'>988377456</column>
			<column name='nom'>Ramiro</column>
			<column name='cognom'>Sanchez ordoñez</column>
		</insert>

		<table.unload table='persones' columns='dni,nom'
			delimiter=';'>
			<file name='export.unl' />
		</table.unload>

		<file.in.open id='in1'>
			<file name='export.unl' />
		</file.in.open>

		<println>
			<file.in.readAll id='in1' />
		</println>



		<drop table='persones' />

	</body>


</xsql-script>

The result of the example execution would be as follows::

Copy
X58847731;Pedro;
X58847732;Juan;
988377456;Ramiro;
Example

The delimiter that should be used to obtain a tab-separated content is:

Copy
delimiter='&#9;'

Download some columns from a DB with UTF-8 encoding to an SO with another encoding and that the field delimiter is tabulation.

Copy
<xsql-script name='table_unload_sample3'>

    <body>
        <table name='persones'>
            <column name='dni'     type='char'    size='9'  />
            <column name='nom'     type='varchar' size='20' />
            <column name='cognom'  type='varchar' size='25' />
        </table>

        <insert table='persones'>
            <column name='dni'>X58847731</column>
            <column name='nom'>Pedro</column>
            <column name='cognom'> Martinez de la Rosa</column>
        </insert>
        
        <insert table='persones'>
            <column name='dni'>X58847732</column>
            <column name='nom'>Juan</column>
            <column name='cognom'>Sebastina veron</column>
        </insert>

        <table.unload table='persones' columns='dni,nom' encoding='utf-8' 
            elimiter='&#9;'>
            <file name='export.unl' />
        </table.unload>

        <drop table='persones' />
    </body>

El resultado de la ejecución del ejemplo sería el siguiente:

Copy
X58847731    Pedro   
X58847732    Juan