找到 4219 篇文章 关于 MySQLi
719 次浏览
如果我们对该过程具有 ALTER ROUTINE 权限,那么我们可以使用 ALTER PROCEDURE 语句更改 MySQL 存储过程。为了演示它,我们以名为“delete_studentinfo”的存储过程为例,该存储过程具有以下创建语句:mysql> SHOW CREATE PROCEDURE Delete_studentinfo\G *************************** 1. row *************************** Procedure: Delete_studentinfo sql_mode: ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `Delete_studentinfo`( IN p_id INT) BEGIN DELETE FROM student_info WHERE ID=p_id; END character_set_client: cp850 collation_connection: cp850_general_ci Database Collation: ... 阅读更多
993 次浏览
为了演示它,我们创建了一个名为“selectdetails()”的过程,它将从表“student_detail”中获取所有记录。mysql> Delimiter // mysql> Create Procedure selectdetails() -> BEGIN -> Select * from student_detail; -> END// Query OK, 0 rows affected (0.00 sec)现在,在调用此过程后,我们将从“student_detail”表中获取所有记录。mysql> Delimiter ; mysql> CALL selectdetails(); +-----------+-------------+------------+ | Studentid | StudentName | address | +-----------+-------------+------------+ | 100 | Gaurav | Delhi | | 101 | Raman | Shimla | | 103 | Rahul | Jaipur | | 104 | Ram | Chandigarh | | 105 | Mohan | Chandigarh | +-----------+-------------+------------+ 5 rows in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
456 次浏览
众所周知,每当在 MySQL 存储过程中发生异常时,通过抛出正确的错误消息来处理它非常重要,因为如果我们不处理异常,则存储过程中可能会发生某些异常导致应用程序失败。MySQL 提供了一个处理程序,该处理程序使用 SQLSTATE 用于默认的 MySQL 错误并退出执行。为了演示它,我们使用以下示例,其中我们尝试在主键列中插入重复值。示例mysql> Delimiter // mysql> Create Procedure Insert_Studentdetails4(S_Studentid INT, S_StudentName Varchar(20), S_Address Varchar(20), OUT got_error ... 阅读更多
543 次浏览
众所周知,每当在 MySQL 存储过程中发生异常时,通过抛出正确的错误消息来处理它非常重要,因为如果我们不处理异常,则存储过程中可能会发生某些异常导致应用程序失败。MySQL 提供了一个处理程序,该处理程序会抛出错误消息并退出执行。为了演示它,我们使用以下示例,其中我们尝试在主键列中插入重复值。示例mysql> Delimiter // mysql> Create Procedure Insert_Studentdetails3(S_Studentid INT, S_StudentName Varchar(20), S_Address Varchar(20)) -> BEGIN ... 阅读更多
183 次浏览
众所周知,每当在 MySQL 存储过程中发生异常时,通过抛出正确的错误消息来处理它非常重要,因为如果我们不处理异常,则存储过程中可能会发生某些异常导致应用程序失败。MySQL 提供了一个处理程序,该处理程序设置变量的特定值并继续执行。为了演示它,我们使用以下示例,其中我们尝试在主键列中插入重复值。mysql> DELIMITER // mysql> Create Procedure Insert_Studentdetails2(S_Studentid INT, S_StudentName Varchar(20), S_Address Varchar(20), OUT ... 阅读更多
632 次浏览
众所周知,每当在 MySQL 存储过程中发生异常时,通过抛出正确的错误消息来处理它非常重要,因为如果我们不处理异常,则存储过程中可能会发生某些异常导致应用程序失败。MySQL 提供了一个处理程序,该处理程序会抛出错误消息并继续执行。为了演示它,我们使用以下示例,其中我们尝试在主键列中插入重复值。示例mysql> DELIMITER // mysql> Create Procedure Insert_Studentdetails(S_Studentid INT, S_StudentName Varchar(20), S_Address Varchar(20)) -> BEGIN ... 阅读更多
91 次浏览
在这种情况下,我们需要使用列名作为“表达式”,然后将其与列表中的值进行比较。如果列具有与列表中匹配的值,则会生成输出。为了理解它,请考虑来自 employee 表的以下数据的示例:mysql> Select * from Employee; +----+--------+--------+ | ID | Name | Salary | +----+--------+--------+ | 1 | Gaurav | 50000 | | 2 | Rahul | 20000 | | 3 | Advik | 25000 | | 4 | Aarav | 65000 | | 5 | Ram | 20000 | ... 阅读更多
99 次浏览
我们还可以使用 IN() 函数比较行构造器。考虑以下示例以使其更清晰:mysql> Select (10,2) IN ((5,10),(10,2),(2,10),(100,100)); +--------------------------------------------+ | (10,2) IN ((5,10),(10,2),(2,10),(100,100)) | +--------------------------------------------+ | 1 | +--------------------------------------------+ 1 row in set (0.00 sec) mysql> Select (10,2) IN ((5,10),(2,10),(100,100)); +-------------------------------------+ | (10,2) IN ((5,10),(2,10),(100,100)) | +-------------------------------------+ | 0 | +-------------------------------------+ 1 row in set (0.00 sec)
327 次浏览
在 MySQL 存储过程中,一旦发生异常,通过抛出适当的错误消息进行处理非常重要。假设,如果我们不处理异常,存储过程中的某个异常可能会导致应用程序失败。MySQL 提供了一个处理程序来处理存储过程中的异常。以下是可以在存储过程中使用的四种 MySQL 处理程序:DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SELECT 'got an error';上述处理程序将抛出一个错误消息并继续执行。DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET got_error=1;上述... 阅读更多