gpt4 book ai didi

database - 验证存储过程参数以强制执行参照完整性约束

转载 作者:搜寻专家 更新时间:2023-10-30 20:32:33 25 4
gpt4 key购买 nike

最近,我倾向于在实际执行查询之前验证我的存储过程操作查询参数。一个例子是检查更新表 'T' 时,表 'T' 的列 'C' 具有唯一索引,更新不会失败......通过首先执行“选择存在于唯一索引”类型实际更新之前的查询。如果违反唯一索引,我会尽早捕获错误并返回。

我基本上建立在我通常的乐观锁定策略的基础上,检查我正在更新的记录是否仍然有资格更新,即没有改变。我更进一步,测试如果我要执行更新,唯一索引不会被违反。

问题是,我最近才开始这样做,我无法决定这样做是否正确,或者我应该让更新处理唯一索引失败。

有人在这方面有任何合理的建议吗?

我也对其他人的一般参数验证方法感兴趣。

最佳答案

对我来说,这似乎是很多不必要的工作。

此外,假设您只是更改返回值,您将采用通常属于异常的情况并将其转换为返回不同值的存储过程。这可能会导致更难跟踪的逻辑错误。

已添加

我对此的另一个想法是,您可能会在数据库级别捕获本应在业务逻辑或 UI 级别捕获(或至少可以更优雅地捕获)的错误。

关于database - 验证存储过程参数以强制执行参照完整性约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2313587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com