问题标签 [oracle-objects]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jpa - JPA 中的 Oracle 数据库对象类型导入
有没有办法在 JPA 中导入 oracle 定义的对象类型。我在数据库中定义了一个复杂的对象:
此对象类型比在数据库表中使用。
hibernate - 如何使用 Spring Data JPA 在实体中映射 Oracle 对象类型?
这个问题与使用 Spring Data JPA 在实体中映射 Oracle 对象类型特别相关。另一个问题无助于详细解释问题。
所以下面是详细信息:
我在 Spring Data JPA Reference 和任何其他搜索结果中都找不到与使用 Spring Data JPA 在实体对象中映射 Oracle 对象类型相关的信息。
设想:
假设我有以下date_typ Oracle 类型。
现在在 oracle 数据库表中,比如 REGISTRATION,其中一列是上面的 date_typ
现在,我需要在实体中映射上述列
如何在 Spring JPA 中将 映射requestedDate
到DATE_TYP(oracle 对象类型)的REQUESTEDDATE
列?
注意:我使用 Hibernate 作为持久性提供程序。
oracle - 通过部分填充从 Oracle 过程返回对象类型?
我在 Oracle 中创建了一个对象类型,如下所示:
现在我想编写一个过程,它将此对象类型作为输出参数返回给调用 Java 代码。基本上有几个表存储列,类似OLD_DATA_VAL1...OLD_DATA_VAL20
地DATA_VAL1...DATA_VAL120
,另一个表具有列NM_DATA_COL1...NM_DATA_COL20
,并且取决于各种用例,只有 3 或 5 个或任意数量的列将具有值,而其他列将为空。例如OLD_DATA_VAL1,OLD_DATA_VAL2,OLD_DATA_VAL3,DATA_VAL1,DATA_VAL2,DATA_VAL3,NM_DATA_COL1,NM_DATA_COL2,NM_DATA_COL3
,有值和其他列为空。我创建了一个元表,它会给我逗号分隔的列名。
现在,当我尝试使用类型或游标时,问题是由于未填充所有值,因此会引发错误。我的程序是这样的:
但它会在类型的情况下引发如下所示的 Oracle 错误 -
一些 Oracle Guy 建议使用 Global Temporary Table (GTT),但我相信它们在所有会话中都很常见,在这里不可行。所以,如果我想部分填充,但我不确定这是否是最好的情况,或者可以用对象完成一些事情,比如将未使用的值部分初始化为 null。
更新
从 2 个语句中打印 dbms_ouput 以使事情更清晰
输出1:
输出2:
主要问题- 与对象类型中的列数相比,动态选择的列数更少。(见输出 1,每个也可以有 3 个)
更新 2
现在我主要关心的是如何从由可变数量的选定列形成的动态 sql 中获取值。
使用下面的查询我能够获得列标题,但不知何故无法获得 col 值。我的查询将只返回一行-
xml - 使用对象类型形成 XML 数据
我需要使用 Oracle 对象类型生成 XML,并且元素将具有属性。复杂之处在于元素和属性都将具有如下值
员工> 姓名 id=100>Aaron /ename> /employee>
要求是仅使用对象类型来实现这一点,而不是使用 xmlelement,xmlattributes 因为实际场景包含大量列。
请帮忙写SQL查询
oracle - Oracle 对象类型
在我的讲座中,我了解了提到COLUMN OBJECT和ROW OBJECT的ORACLE OBJECT TYPES。我在讲座中没有找到关于对象类型的足够详细信息。我用谷歌搜索了至少一篇关于这些对象类型的文章,但我找不到任何提到COLUMN OBJECT和ROW OBJECT的文章。
这可能是一个初学者的问题。有人请解释或提供文章链接吗?
java - JDBC 与 Oracle RECORD、TABLE 和 OBJECT 类型一起使用
如何在 Jdbc 中检索 Oracle 集合类型。我搜索了很多,但没有找到任何答案。下面是我的存储过程工作正常:
下面是运行存储过程的 Java 代码:
我在第 3/4 行收到的错误:
我还尝试运行没有记录类型的新存储过程,但存在相同的错误:
我在某处发现可以使用数组描述符或结构描述符,但如何在 registerOutParameter 中使用它,没有任何文档/站点解释。我被困在这里。
java - 如何在 oracle 存储过程中返回自己的类型数据?
我在 oracle 中为一个过程创建了一个类型数据。
程序:
和:
当我在匿名块中使用这种类型的数据并且它起作用时。
块结果:
但是当我在存储过程中使用它来返回它时,我得到一个错误。
程序:
错误:
为什么它不返回值?
oracle - 如何知道触发器中 :new 的类型?
假设我有这些虚拟类型和这些类型的表:
让我们假设我有不同类型的操作:
我想在一个表上创建一个触发器,Operation_TY
它会告诉我操作成本是多少。要获得这些信息,当在表中插入操作时,我想检查操作的类型,然后进入tariff_plan
合约以查找操作的价格。
我试过:
这不起作用,我想我错过了一些东西。这个操作应该如何进行?
我在这里留下一个小脚本来随机填充表格:
oracle - 如何在oracle中将对象类型的对象作为参数传递
这是关于如何在 oracle 中将对象类型作为参数传递的下一级问题。
我的问题是在相同的上下文中,主子嵌套级别关系更深一些,它是对象中的对象。而且我没有找到任何方法从 PL-SQL 调用这样的过程。
让我们修改上述问题中给出的示例,如下所示:
创建对象和类型:
为需求创建和插入语句:
程序示例代码:
由于这是从 Java 代码调用的,因此他们可以使用 in 对象创建对象。我不需要从 PL-SQL 端调用它,我就得救了。
现在,我的问题是如何从 PL-SQL 调用这样的过程?我想为 Select 语句返回的记录调用此过程。基本上我需要将这些值存储在 callbck 类型的变量中。