在phpMyAdmin中创建存储过程时,我找到了以下选项屏幕.
现在我想知道一切意味着什么.
我知道Routine name
,Type
,Parameters
,Definition
,Definer
,Security type
和Comment
选项.
然而,我不知道该怎么做Is deterministic
和SQL data access
.我试过谷歌,但找不到它.有人可以告诉我这些价值观是什么意思吗?
是决定因素:
如果过程或函数对于相同的输入参数总是产生相同的结果,则该过程或函数被认为是"确定性的",否则被认为是"不确定的".如果在例程定义中既未给出DETERMINISTIC也未给出DETERMINISTIC,则默认值为NOT DETERMINISTIC.
SQL数据访问:
CONTAINS SQL表示该例程不包含读取或写入数据的语句.如果没有明确给出这些特征,则这是默认值.这些语句的示例是SET @x = 1或DO RELEASE_LOCK('abc'),它们既不执行读取也不执行写入数据.
NO SQL表示该例程不包含SQL语句.
READS SQL DATA表示例程包含读取数据的语句(例如,SELECT),但不包含写入数据的语句.
MODIFIES SQL DATA表示该例程包含可以写入数据的语句(例如,INSERT或DELETE).