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