gpt4 book ai didi

oracle - 使用存储过程组件时的插入、删除、更新

转载 作者:行者123 更新时间:2023-12-03 18:19:30 24 4
gpt4 key购买 nike

我们有一个用 Delphi 2010 编写的应用程序,它连接到 SQL Server 数据库。现在我们正在迁移到 Oracle。使用 SQL Server,可以非常轻松地从连接到存储过程的 dbgrid 执行插入、更新和删除操作。

这是因为 SQL Server 中的存储过程可以很容易地充当表,以便您可以对其进行任何操作,只要它返回结果集中的必要列即可。现在有了 Oracle,我不知道该怎么做。我将 DBGrid 连接到 DataSource,其数据集是一个存储过程对象,但我无法编辑网格。只需选择即可。

我需要做什么才能实现这一目标?我使用 UniDac 组件套件连接到 Oracle 数据库。

最佳答案

  1. Oracle 不支持此类功能。 IOW,在 Oracle 中,您不能编辑存储过程提供的结果集或将存储过程包含到 INSERT INTO <name> 中, UPDATE <name>DELETE FROM <name> .
  2. 虽然 SQL Server 开发人员“总是”使用存储过程是传统做法(出于多种原因),但 Oracle 开发人员却不是这样。但是 Oracle 也有可能。搜索“REF CURSOR”以查看如何使用 SP 获取数据。并使用普通或打包(首选)SP 将更新发布到数据库。这些过程将通过参数接收旧/新字段值。
  3. 我不能准确地说出 UniDAC,我可以说 about AnyDAC .但我希望 UniDAC 具有类似的功能。要使用 SP 发布更新,您需要使用 TXxxUpdateSQL成分。

关于oracle - 使用存储过程组件时的插入、删除、更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8571654/

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