I will add more when I stumble upon commands I can’t remember the syntax of.
mysql> SHOW PROCEDURE STATUS;
| Db | Name | Type | Definer | Modified | Created | Security_type | Comment |
|---|---|---|---|---|---|---|---|
| mydb | store_user | PROCEDURE | root | 2007-0.. | 2007-0.. | DEFINER | |
| mydb | store_cart | PROCEDURE | root | 2007-0.. | 2007-0.. | DEFINER | |
| mydb | store_settings | PROCEDURE | root | 2007-0.. | 2007-0.. | DEFINER |
mysql> DELIMITER $$
mysql> CREATE PROCEDURE adduser(IN username VARCHAR(32), IN emailaddress VARCHAR(32))
BEGIN
INSERT INTO users VALUES (username, emailaddress);
END
$$
mysql> SHOW CREATE PROCEDURE `userdb`.`adduser`\\G
*************************** 1. row ***************************
Procedure: adduser
sql_mode:
Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `adduser`(IN username varchar(32), IN emailaddress(32))
BEGIN
INSERT INTO users VALUES (username, emailaddress);
END
1 row in set (0.00 sec)
Connection con = DriverManager.getConnection(url, user, password);
CallableStatement statement = con.prepareCall(\"{call userdb.adduser(?, ?)}\");
int i = 0;
statement.setString(i++, \"myuser\");
statement.setString(i++, \"myuser@spammealot.com\");
statement.execute();
GRANT SELECT ON `mysql`.`proc` TO \'mysqluser\'@\'myhost\';