oracle - 创建与现有 Oracle 表结构相同的 Oracle 类型
问题描述
我正在尝试在 Oracle PL/SQL 存储过程中保存一些 Java 集合。
有谁知道,是否有办法创建与现有 Oracle 表结构相同的 Oracle 类型?我想避免为每个 Java 集合创建大量CREATE OR REPLACE TYPE t_row AS OBJECT(...);
, 然后。CREATE OR REPLACE TYPE t_list AS TABLE OF t_row;
换句话说,我想创建类似的东西:
CREATE OR REPLACE TYPE typename AS TABLE OF schema.existing_table;
我试图在网上找到一些信息,似乎没有任何类似的主题。
任何提示将不胜感激。
解决方案
类型是否需要是 SQL 类型?如果你对 PL/SQL 类型没问题,你可以声明一个%ROWTYPE
记录集合。大概,您会在一个或多个包中创建类型,然后在适当的地方使用它们。
create table foo (
col1 number,
col2 number
);
create or replace package my_collections
as
type foo_tbl is table of foo%rowtype;
end;
/
declare
foos my_collections.foo_tbl := new my_collections.foo_tbl();
begin
foos.extend(1);
foos(1).col1 := 1;
foos(1).col2 := 2;
dbms_output.put_line( foos.count );
end;
/
推荐阅读
- python - 如何减少python列表算法中k个连续数的最大和的执行时间
- javascript - 无限制文件上传问题
- java - 响应对象以及 http 状态码
- alm - HP QC ALM 12.21 API 参考指南
- javascript - 无法调用javascript函数django rest API
- ios - 安装 pod 时出现 cmark 错误
- amazon-web-services - 允许在 S3 存储桶中公开读取与允许下载存储桶的内容相同吗?
- php - 如何在 PHP Json API 输出中返回 int 和 string?
- ruby-on-rails - Rails 逻辑不会在“假”结果上触发
- javascript - Google 表格脚本 - 从第二行剥离额外数据并将其添加到第一行