EGL prepare 语句指定一个 SQL PREPARE 语句,后者包含(可选)只有在运行时才知道的详细信息。通过运行 EGL execute 语句或者(如果 SQL 语句返回结果集的话)通过运行 EGL open 或 get 语句来运行预编译 SQL 语句。
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); // exits the program end try execute myStatement using :myRecord.empnum, :myRecord.empname; onException myErrorHandler(15); end
如上述示例所示,开发者可以在应该出现主变量的位置使用问号(?)。于是,在运行时使用的主变量的名称被放在运行已编译语句的 execute、open 或 get 语句的 using 子句中。
prepare prep02 from "update myTable " + "set empname = ?, empphone = ? where current of x1" ; execute prep02 using empname, empphone ; freeSQL prep02;
有关圆括号对加号(+)用法的影响的示例,请参阅表达式。