CREATE DEFINER = `root`@`localhost` PROCEDURE `NewProc`(IN `reada` int)
NO SQL
BEGIN
#Routine body goes here...
SELECT COUNT(*) FROM testdb.testid WHERE testid.id = reada;
END;为什么这个定义是合法的,NO SQL不是已经限定了不能使用sql语句。还有就算我使用CONTAINS SQL也是能够顺利定义并调用的,根据官方文档,CONTAINS SQL表示表示方法不包含读或写数据的语句。方法内部不是有读语句?
NO SQL
BEGIN
#Routine body goes here...
SELECT COUNT(*) FROM testdb.testid WHERE testid.id = reada;
END;为什么这个定义是合法的,NO SQL不是已经限定了不能使用sql语句。还有就算我使用CONTAINS SQL也是能够顺利定义并调用的,根据官方文档,CONTAINS SQL表示表示方法不包含读或写数据的语句。方法内部不是有读语句?
delimiter $$
CREATE DEFINER = `root`@`localhost` PROCEDURE `NewProc`(IN `reada` int)
NO SQL
BEGIN
#Routine body goes here...
SELECT COUNT(*) FROM testdb.testid WHERE testid.id = reada;
END;$$
delimiter ;
NO SQL 标明 过程中包括 非SQL语句, 并不是不包括SQL语句。