mysql创建存储过程的时候发现有这么四个数据存取限制的参数,网上查了好久从官网得到如下结果
一些特征提供子程序使用数据的内在信息。
CONTAINS SQL表示子程序不包含读或写数据的语句。
NO SQL表示子程序不包含SQL语句。
READS SQL DATA表示子程序包含读数据的语句,但不包含写数据的语句。
MODIFIES SQL DATA表示子程序包含写数据的语句。
如果这些特征没有明确给定,默认的是CONTAINS SQL。
自己创建存储过程后改变这些个参数,都不影响执行,也不影响创建,纳闷儿了,最后终于看到有个人说了这么一句话“这些特征值目前只提供给服务器,并没有根据这些特征值来约束过程实际的使用数据情况”,我不知道他说的对不对,反正我的是不受影响,继续观察中。