La sentencia EGL prepare especifica una sentencia SQL PREPARE, que opcionalmente incluye detalles que sólo se conocen durante la ejecución. La sentencia SQL preparada se ejecuta mediante la ejecución de una sentencia EGL execute o (si la sentencia SQL devuelve un conjunto de resultados) mediante la ejecución de una sentencia EGL open o get.

try
prepare prep01 from
"insert into " + aTableName +
"(empnum, empname) " +
"value ?, ?"
for empRecord;
onException
if empRecord is unique
myErrorHandler(8);
else
myErrorHandler(12);
end
end
myString =
"insert into myTable " + "(empnum, empname) " +
"value ?, ?";
try
prepare myStatement
from myString;
onException
myErrorHandler(12); // sale del programa
end
try
execute myStatement
using :myRecord.empnum,
:myRecord.empname;
onException
myErrorHandler(15);
end
Como se muestra en los ejemplos anteriores, el desarrollador puede utilizar un signo de interrogación (?) cuando debe aparecer una variable de lenguaje principal. A continuación, el nombre de la variable de lenguaje principal utilizada durante la ejecución se coloca en la cláusula using de la sentencia execute, open o get que ejecuta la sentencia preparada.
prepare prep02 from
"update myTable " +
"set empname = ?, empphone = ? where current of x1" ;
execute prep02 using empname, empphone ;
freeSQL prep02;
Para obtener un ejemplo de cómo afectan los paréntesis a la utilización de un signo más (+), consulte la sección Expresiones.
Conceptos relacionados
Referencias a componentes
Tipos de registros y propiedades
Soporte de SQL