Dor*_*sey 5 postgresql plpgsql
当我在Postgres数据库中创建或更新函数或过程时,我会LANGUAGE 'plpgsql' VOLATILE在函数结束时看到.
这是什么意思,它的目的是什么?
Aka*_* KC 17
来自Postgres的文档:
VOLATILE表示即使在单个表扫描中,函数值也可以更改,因此无法进行优化.在这个意义上,相对较少的数据库函数是易变的; 一些例子是random(),currval(),timeofday().但请注意,任何具有副作用的函数都必须被分类为volatile,即使其结果是可预测的,也可以防止调用被优化掉; 一个例子是setval().
尤其是,LANGUAGE 'plpgsql' VOLATILE意味着有人没有得到备忘录.
语言名称CREATE FUNCTION是标识符,不应引用.应该:
LANGUAGE plpgsql VOLATILE
Run Code Online (Sandbox Code Playgroud)
医疗事故可能导致混淆错误.这个相关答案的更多细节:
找不到PostgreSQL过程语言"C"
| 归档时间: |
|
| 查看次数: |
9301 次 |
| 最近记录: |