This function is able to generate through the data obtained in a SQL query a CSV structure of table type.
1 sql.toCSV
<sql.toCSV>
<union /> ?
<select /> ?
<nativesql /> ?
</sql.toCSV>
Arguments | |||||
---|---|---|---|---|---|
Name | Type | Required | Unique | Nullable | Description |
Eunion | null | Query union in xsql. | |||
Eselect | null | Query select in xsql. | |||
Enativesql | null | Query select in native. |
Returns | |
---|---|
Type | Description |
string | Returns the CSV with the data obtained of the indicated SQL query. |
Exceptions
input/output exception ...
Input/output fail in the connection with the database.
sql exception ...
Error of sql.
Example
Conversion of query to CSV through writing on tags.
Copy
<xsql-script name='test_sql_toCSV1'> <body> <println> <sql.toCSV> <select prefix='ccompany_'> <columns> ccompany.comname, CASE WHEN <substr>cthird.cif,1,2</substr> = 'ES' THEN <substr>cthird.cif,3,11</substr> ELSE cthird.cif END <alias name='cif' />, cthird.name, <substr>cthiaddr.telef1, 1, 9</substr> <alias name='telef1' />, cthiaddr.poscod <alias name='zip' />, cthiaddr.popul <alias name='city' />, cthiaddr.addr </columns> <from table='ccompany'> <join type='left' table='cthird'> <on>ccompany.third = cthird.code</on> </join> <join type='left' table='cthiaddr'> <on>ccompany.third = cthiaddr.code</on> <on>ccompany.typadd = cthiaddr.typadd</on> </join> </from> <where> 1=1 </where> </select> </sql.toCSV> </println> </body> </xsql-script>
Example
Conversion of query to CSV through writing on native.
Copy
<xsql-script name='test_sql_toCSV2'> <body> <println> <sql.toCSV> <nativesql>SELECT gcompedh.third FROM gcompedh</nativesql> </sql.toCSV> </println> </body> </xsql-script>
Example
Creation of a CSV structure through a vtable.
Copy
<xsql-script name='test_sql_toCSV3'> <body> <vtable name='v1'> <column name='code' type='char' unique='true' /> <column name='name' type='char' size='25' /> <column name='number' type='integer' /> <column name='balance' type='decimal' scale='2' editable='true' /> </vtable> <vtable.insert name='v1'> <column name='code'>A</column> <column name='name'>Name AA</column> <column name='number'>0</column> <column name='balance'>12.9</column> </vtable.insert> <vtable.insert name='v1'> <column name='code'>B</column> <column name='name'>Nombre BB</column> <column name='number'>1</column> <column name='balance'>-17.99</column> </vtable.insert> <println> <sql.toCSV> <in> <v1/> </in> </sql.toCSV> </println> </body> </xsql-script>
Example
Creation of a CSV structure through a SOAP call (sqlresponse).
Copy
<xsql-script name='test_sql_toCSV4'> <body> <set name='m_response'> <soap.call url='http://localhost:80/soap/servlet/rpcrouter' uri='urn:SOAPSQLServer' method='executeSQL' user='demo' password='abcdemo' > <parameters> <parameter name='database'>demo_sports1</parameter> <parameter name='sqlstmt'>SELECT * FROM cdiary</parameter> </parameters> </soap.call> </set> <println> <m_response /> </println> <println> <sql.toCSV> <in><m_response/></in> </sql.toCSV> </println> </body> </xsql-script>