gpt4 book ai didi

oracle - Oracle中可以遍历rowtype字段吗?

转载 作者:行者123 更新时间:2023-12-02 08:54:18 24 4
gpt4 key购买 nike

假设我有这样的东西:

somerecord SOMETABLE%ROWTYPE;

是否可以在不知道字段名称的情况下访问某些记录的字段?像 somerecord[i] 这样的字段顺序与表中的列顺序相同?

我看过一些使用动态 sql 的示例,但我想知道是否有更简洁的方法来执行此操作。

我想做的是生成/获取表中特定行的 DML(插入查询),但我无法找到任何相关信息。

如果有另一种方法可以做到这一点,我很乐意使用,但也很好奇如何做这个问题的前一部分 - 它更通用。

谢谢

最佳答案

这并不能完全回答您提出的问题,但可能会给您带来您想要的结果......

您可以查询 USER_TAB_COLUMNS View (或其他类似的 *_TAB_COLUMN View )来获取表(或 View )中列的列名 (COLUMN_NAME)、位置 (COLUMN_ID) 和数据类型 (DATA_TYPE) 等信息)您可以使用它来生成 DML。

您仍然需要使用动态 SQL 来执行生成的 DML(或者至少单独生成静态 SQL)。

但是,这种方法不适用于识别任意查询中的列(除非您创建它的 View )。如果您需要这样做,您可能需要求助于 DBMS_SQL(或其他工具)。

希望这有帮助。

关于oracle - Oracle中可以遍历rowtype字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6143513/

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