作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有这样的东西:
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/
我是一名优秀的程序员,十分优秀!