Solo se me ocurre una cuestion de orden y elegancia, una forma de hacer explícito el hecho de que vas a usar parámetros.
Tal vez el pcode generado podría llegar a mostrar alguna diferencia, no se...
Pero en lo personal lo he usado bastante, como en el ejemplo, y como podrás adivinar, con uso intensivo (es en las querys) y va fenomenal.
Y para añadir más cosas a la colección de cositas guapas, por si alguno todavía no lo conoce, van los siguientes #pragmas:
- Code: Select all Expand view
#xcommand TEXT INTO <v> => #pragma __cstream|<v>:=%s
#xcommand TEXT INTO <v> ADDITIVE => #pragma __cstream|<v>+=%s
Esto nos permite escribir texto literal, que incluya incluso saltos de línea, como en:
- Code: Select all Expand view
TEXT INTO cTexto
CREATE TABLE IF NOT EXISTS `validalta` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fechanaci` date,
`nif` varchar(9) DEFAULT NULL,
`mail` varchar(50) DEFAULT NULL,
`cuenta` varchar(4) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `NIF` (`nif`)
);
ENDTEXT
oServer:Command( cTexto )
o bien, XML combinado con la funcioncita de Expand
- Code: Select all Expand view
TEXT INTO cTransac
<tns:importAbsenceFiles xmlns:tns="http://echange.service.open.server.com">
<tns:absenceFilesToImport>
<tns:absenceFile>
<tns:absenceTypeAbbreviation>VACAC</tns:absenceTypeAbbreviation>
<tns:employeeIdentificationNumber>$1</tns:employeeIdentificationNumber>
<tns:startDate>$2</tns:startDate>
<tns:endDate>$3</tns:endDate>
</tns:absenceFile>
</tns:absenceFilesToImport>
</tns:importAbsenceFiles>
ENDTEXT
cTransac:= Expand( cTransac, oQuery:dni, oQuery:FechaInicio, oQuery:FechaFin )
Como te decía, entre SQL, XML y web... lo uso de forma intensiva, y ayuda a hacer la programación muchísimo más clara.