mysql-native v1.2.0
API Reference Home: [This Version] [Latest Version] [Other Versions]
Function prepareProcedure
Convenience function to create a prepared statement which calls a stored procedure.
OUT parameters are currently not supported. It should generally be possible with MySQL to present them as a result set.
Be careful that your numArgs is correct. If it isn't, you may get a
MYX
with a very unclear error message.
Throws
MYX if the server has a problem.
Parameters
Name | Description |
---|---|
name | The name of the stored procedure. |
numArgs | The number of arguments the stored procedure takes. |
Example
debug(MYSQL_INTEGRATION_TESTS)
{
import mysql .test .common;
import mysql .test .integration;
mixin(scopedCn);
initBaseTestTables(cn);
exec(cn, `DROP PROCEDURE IF EXISTS insert2`);
exec(cn, `
CREATE PROCEDURE insert2 (IN p1 INT, IN p2 CHAR(50))
BEGIN
INSERT INTO basetest (intcol, stringcol) VALUES(p1, p2);
END
`);
auto preparedInsert2 = prepareProcedure(cn, "insert2", 2);
preparedInsert2 .setArgs(2001, "inserted string 1");
preparedInsert2 .exec();
ResultSet rs = querySet(cn, "SELECT stringcol FROM basetest WHERE intcol=2001");
assert(rs .length == 1);
assert(rs[0][0] == "inserted string 1");
}