sql - 描述无论运行多少次都会产生相同结果的过程的正确术语是什么?
问题描述
假设您想在数据库中创建一个新表。如果你运行一个只包含CREATE...
代码的脚本,那么它会在第一次运行,但如果再次运行就会崩溃,因为它会尝试创建一个已经存在的对象。但是,通过首先添加IF EXISTS ...
逻辑(或DROP TABLE ...
),您可以避免此类错误。
我知道有一个特定的技术术语来描述这个概念或属性,即脚本能够多次运行而不改变仅运行一次脚本的结果的最终结果,但我似乎不记得了,我一直没能找到它。多事多事?还是多东西?
解决方案
幂等操作
可以多次应用而不改变初始应用之外的结果。
例如,如果对于所有输入,函数f
都是幂等的x
f(x) == f(f(x))
我经常在幂等 HTTP 请求的上下文中遇到这个概念,并且在函数式编程的上下文中作为引用透明性遇到过这个概念。
推荐阅读
- oracle - AWS RDS Oracle 标准版似乎忽略了 NLS_LENGTH_SEMANTICS
- git - 如何在我的提交历史记录中找到包含特定代码行的文件?
- wpf - 无法使用触发器隐藏 DataGridTemplate
- ios - Firebase 动态链接 iOS 应用预览即使在禁用时也会显示
- visual-foxpro - 为什么 Visual FoxPro 无法在 Windows 10 64 位中编译有效的可执行文件?
- javascript - Heatmap dc.js - 手动提供颜色范围
- javascript - Codeigniter - 在 1 个视图中显示来自 2 个不同模型函数的 2 个不同数据
- java - 与 Java 11 兼容的最低 Spring 版本
- java - 如何解码邮件附件的标题?
- c# - 要使用什么数据类型和 Web 控件?