描述无论运行多少次都产生相同结果的过程的正确术语是什么?

What is the correct term to describe a procedure that produces the same result irrespective of how many times it is run?

提问人:Kjartan 提问时间:10/2/2019 最后编辑:Kjartan 更新时间:12/25/2019 访问量:160

问:

假设您要在数据库中创建一个新表。如果运行仅包含代码的脚本,则它将在第一次工作时工作,但如果再次运行,则会崩溃,因为它将尝试创建已存在的对象。但是,通过先添加逻辑(或),可以避免此类错误。CREATE...IF EXISTS ...DROP TABLE ...

我知道有一个特定的技术术语来描述这个概念或属性,即脚本可以多次运行而不改变仅运行一次脚本的结果的最终结果,但我似乎不记得它,我也无法找到它。多东西东西?还是多东西

与 SQL 语言无关 的术语 概念

评论

1赞 jarlh 10/2/2019
你是说确定性吗?
0赞 Kjartan 10/2/2019
谢谢,但没有 - 我知道有一个事实,即有一些特殊术语具有上述特定含义。
0赞 Gordon Linoff 10/2/2019
@Kjartan . . .我认为 jarlh 是正确的。“DETERMINISTIC”至少对 SQL 存储过程来说就是这样。我使用术语“稳定”来表示具有唯一键的查询,但这特定于排序。ORDER BY

答:

3赞 Mario Galic 10/3/2019 #1

幂等操作

可以多次应用,而不会更改超出 初次申请。

例如,如果函数对于所有输入都成立,则函数是幂等的fx

f(x) == f(f(x))

我经常在幂等 HTTP 请求的上下文中遇到这个概念,并在函数式编程的上下文中遇到引用透明度的概念。