JDBC中的存储过程是什么?

存储过程是子例程,是SQL语句的一部分,存储在SQL目录中。所有可以访问关系数据库的应用程序(Java,Python,PHP等)都可以访问存储过程。

存储过程包含IN和OUT参数或两者。如果您使用SELECT语句,它们可能会返回结果集。存储过程可以返回多个结果集。

创建一个存储过程

假设我们在MySQL数据库中创建了一个名为Employee的表,如下所示:

String createTable = "CREATE TABLE Employee("
   + "Name VARCHAR(255), "
   + "Salary INT NOT NULL, "
   + "Location VARCHAR(255))";

以下是MySQL存储过程的示例。在这里,我们在Employee表中插入一列,以获取用户的值。(通过输入参数)

mysql> DELIMITER // ;
mysql> Create procedure myProcedure (IN name VARCHAR(30), IN sal INT, IN locVARCHAR(45))
   -> BEGIN
   -> INSERT INTO Employee(Name, Salary, Location) VALUES (name, sal, loc);
   -> END //

调用存储过程:

以下语句调用上面创建的存储过程。

CALL myProcedure ('Raman', 35000, 'Bangalore')//

如果检索表的内容,则可以观察到新插入的行为

mysql> select * from employee;
+---------+--------+----------------+
| Name    | Salary | Location       |
+---------+--------+----------------+
|| Raman  | 35000  | Bangalore      |
+---------+--------+----------------+
1 rows in set (0.00 sec)