选择语句REF oracle

2024-06-26

我需要一些帮助来创建将使用引用的选择语句。

我设法很好地插入了值,但是当我尝试使用 where 语句提取值时,输出要么是数据类型错误,要么会输出两个表以及它们都包含的数据。

这只是一个例子:

Create or replace table1_Type as object {
 id integer,
 dateStart date,
 etc varchar2(20));
}
/

create table table1 of table1_type;

Create or replace table2_type as object
 id integer,
 items varchar2(30),
 datePurchased varchar2(20),
 table1_Ref REF table1_type);
/

create table table2 of table2_type;

所以我尝试了

Select * from table2 a, table1 b where table1.id = table2.table1_ref
Select * from table2 a, table1 b where table1.id = deref(b.table1_ref)

这是行不通的。

我对此很陌生,如果我没有正确解释的话,我很抱歉。我想做的是选择由 table1/id 购买的商品,因此输出应该只显示 某个id购买的商品。


Create or replace type table1_Type as object (
 id integer,
 dateStart date,
 etc varchar2(20));
-- TYPE TABLE1_TYPE compiled

create table table1 of table1_type;
-- table TABLE1 created.

Create or replace type table2_type as object(
 id integer,
 items varchar2(30),
 datePurchased varchar2(20),
 table1_Ref REF table1_type);
-- TYPE TABLE2_TYPE compiled

create table table2 of table2_type;
--table TABLE2 created.

INSERT INTO table1 VALUES(table1_Type(1, SYSDATE, 'etc1...'));
INSERT INTO table1 VALUES(table1_Type(2, SYSDATE, 'etc2...'));

SELECT  REF(t)
FROM    table1 t
WHERE   id = 1;
-- [TST.TABLE1_TYPE]

DECLARE
    l_table_1_id_1  REF table1_Type;
    l_table_1_id_2  REF table1_Type;
BEGIN
    SELECT  REF(t)
    INTO    l_table_1_id_1
    FROM    table1 t
    WHERE   id = 1;

    SELECT  REF(t)
    INTO    l_table_1_id_2
    FROM    table1 t
    WHERE   id = 2;

    INSERT INTO table2 VALUES (21, 'item21', SYSDATE, l_table_1_id_1);
    INSERT INTO table2 VALUES (22, 'item22', SYSDATE, l_table_1_id_2);
END;
-- anonymous block completed

SELECT COUNT(*) FROM table1;
-- 2
SELECT COUNT(*) FROM table2;
-- 2

SELECT * FROM table1;
/*
1   2013-06-16 03:51:50 etc1...
2   2013-06-16 03:52:05 etc2...
*/

SELECT * FROM table2;
/*
21  item21  2013-06-16 04:06:26 [TST.TABLE1_TYPE]
22  item22  2013-06-16 04:06:26 [TST.TABLE1_TYPE]
*/

SELECT  *
FROM    table1 t1
JOIN    table2 t2
ON      REF(t1) = t2.table1_Ref;
/*
1   2013-06-16 03:51:50 etc1... 21  item21  2013-06-16 04:06:26 [TST.TABLE1_TYPE]
2   2013-06-16 03:52:05 etc2... 22  item22  2013-06-16 04:06:26 [TST.TABLE1_TYPE]
*/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选择语句REF oracle 的相关文章

  • 按第一个字符分组

    我在 Oracle SQL 中的查询遇到问题 我有一个first name列中的employees桌子 我想根据中的第一个字符对记录进行分组first name 例如 我有 26 条记录 其中一条记录name Alice 一与name Bo
  • 如何在PostgreSQL中选择具有级别的表的所有层次结构

    我现在有一个问题 我有一个名为地方的表 其结构如下 id 父 ID name 我想做一个选择来拥有该表的所有层次结构 有一个数据的小例子 1 null 123 Barclay St 2 1 Floor 1 3 1 Floor 2 4 1 F
  • 哪个 SQL 语句更快? (有与在哪里......)

    SELECT NR DZIALU COUNT NR DZIALU AS LICZ PRAC DZIALU FROM PRACOWNICY GROUP BY NR DZIALU HAVING NR DZIALU 30 or SELECT NR
  • Python postgreSQL sqlalchemy 查询 DATERANGE 列

    我有一个预订系统 并将预订日期范围保存在 日期范围 列中 booked date Column DATERANGE nullable False 我已经知道我可以通过以下方式访问实际日期booked date lower or booked
  • knex.where容易受到sql注入攻击吗?

    这是一个后续问题https stackoverflow com a 50337990 1370984 https stackoverflow com a 50337990 1370984 它提到knex table where descri
  • 如何授予“授予创建会话”权限?

    Oracle中如何给用户或角色赋予创建会话的权限 你会使用WITH ADMIN OPTION选项中的GRANT陈述 GRANT CREATE SESSION TO lt
  • SQL 用逗号替换点

    我有以下代码 SELECT cast Listenpreis 1 19 as decimal 29 2 as Listenpreis FROM SL M03KNE dbo ARKALK 我得到这个值 5 59 我尝试将点替换为 komma
  • 案例与解码

    参考之前的一篇question https stackoverflow com questions 3193384 display sql custom text from table column result 我想知道是否总是可以更换D
  • 编写 MySQL 查询以获得所需结果

    我正在使用 MySQL 数据库 风险因素有四种类型 严重 高 中 低 表包含如下数据 id uaid attribute value time risk factor 1 1234 Edge Exist 16123 NONE 2 1234
  • 主键和代理键有什么区别?

    我用谷歌搜索了很多 但没有找到带有示例的确切直接答案 任何例子都会更有帮助 主键是表中的唯一键 您选择它可以最好地唯一标识表中的记录 所有表都应该有一个主键 因为如果您需要更新或删除一条记录 您需要知道如何唯一标识它 代理键是人工生成的键
  • 具有多个表的 SQL select 语句

    给出以下两个表 Person table id pk first middle last age Address table id pk person id fk person id street city state zip 如何创建返回
  • 从表变量中获取列的明确名称

    我可以这样声明一个表变量 DECLARE tv source TABLE c1 int providerName varchar 50 providerSMS varchar 50 如果我执行以下命令 我会看到类似于以下内容的表名称 468
  • ASP.NET MVC5 - 将用户保留在 Oracle 数据库中

    一旦创建了一个ASP NET MVC5项目 目标框架是 NET 4 5 1认证类型是个人用户帐户 那么配置项目以便将用户 声明 角色等保留在 Oracle 12c 数据库中的最优雅的方法是什么 我的意思是 如何在不影响自动生成的 MVC5
  • 物化视图快速刷新-更新基表时插入和删除

    大家好 Stackoverflowers 的朋友们 TLDR MVIEW 是否使用UPDATE or DELETE INSERT刷新期间 前一段时间 当我在 Oracle 中摆弄物化视图时 遇到了一件晦涩难懂的事情 这是我的例子 2 个基表
  • 限制 SQL 查询的响应时间

    我在这里发布了一个关于我的 gridview 绑定的问题 将GridView与多条记录绑定 https stackoverflow com questions 5599704 bind gridview with many records
  • 即使为空也显示值

    我正在使用以下内容显示过去 7 天内添加的产品计数 即使 COUNT 0 我是否可以以某种方式定制查询以显示过去 7 天的所有产品 查询现状 SELECT DAYNAME dateadded DAY COUNT COUNT FROM pro
  • 是否有一个sql条件可以查找列中的非整数?

    基本上我想要一个像这样运行的 select 语句 SELECT FROM table WHERE column IS NOT INT 是否存在这样的条件或者如何检查 nvarchar 10 列中的非整数 In SQL Server你可以做
  • 计算给定小时内使用了多少分钟

    给定开始和结束时间 我想知道给定时间内有多少分钟 create function CalcMinsInHour start datetime end datetime hour int returns int as begin Lookin
  • 如何使用 SQL 计算一条路线的行驶次数?

    我需要确定在给定的日期范围内每辆车行驶特定路线的次数 但建立在数据库之上的 GPS 管理软件没有此功能 该数据库包含多个存储 GPS 路线和位置数据的表 路线由多个位置和序列号组成 位置是附加到名称的一组上限和下限纬度 经度值 车辆每分钟将
  • 时态数据库设计,有一些变化(实时行与草稿行)

    我正在考虑实现对象版本控制 同时需要同时拥有活动对象和草稿对象 并且可以利用某人在这方面的经验的见解 因为我开始怀疑是否有可能在没有潜在可怕的黑客攻击的情况下实现这一点 为了示例 我将把它分解为带有标签的帖子 但我的用例更一般 涉及缓慢改变

随机推荐

  • 有java中公钥加密的教程吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我已经能够找到有关对称加密和散列的信息 但在查找有关 java 的任何类型的公钥加密的大量信息时遇到了
  • 如何通过 SSH 连接到 Docker?

    我想创建以下基础架构流程 使用 Docker 如何实现这一点 首先 您需要在要通过 ssh 访问的映像中安装 SSH 服务器 您可以为所有安装了 ssh 服务器的容器使用基础映像 然后 您只需运行每个容器 将 ssh 端口 默认 22 映射
  • 使用 Electron 打开外部文件

    我有一个正在运行的 Electron 应用程序 到目前为止运行良好 对于上下文 我需要运行 打开一个外部文件 该文件是一个 Go lang 二进制文件 它将执行一些后台任务 基本上它将充当后端并公开 Electron 应用程序将使用的 AP
  • 在时间序列线图上绘制点

    我有这个数据框 我想绘制它的线图 正如我所绘制的 Graph is 生成的代码是 fig ax plt subplots figsize 15 5 date time pd to datetime df Date df df set ind
  • 多对多关系中的 KVO 对象属性

    我有一个核心数据对多关系 由父 gt 子组成 我想设置一个键值观察机制 以便当任何子对象上的属性 例如 firstName lastName 发生更改时 它会触发通知 使用标准 KVO 语法时 self parentObject addOb
  • 数据框应用不接受轴参数

    我有两个数据框 data and rules gt gt gt data gt gt gt rules vendor rule 0 googel 0 google 1 google 1 dell 2 googly 2 macbook 我正在
  • 从服务器实时更新的 iOS 应用程序:Socket(使用流)还是 Apple 推送通知服务?

    我正在尝试制作一个 iOS 5 应用程序 该应用程序具有来自服务器的实时信息 它只会在应用程序运行时使用这些 为了使其实时且无需轮询 我一直在评估两种设计路线 创建从应用程序到服务器的套接字 并通过流交换信息 Pros 相对简单 不涉及第三
  • 从样条解的给定点数组中查找 3 维 B 样条控制点?

    佤族正在谈论非均匀有理 B 样条 http en wikipedia org wiki Non uniform rational B spline 我们有一些简单的 3 维数组 例如 1 1 1 1 2 3 1 3 3 2 4 5 2 5
  • 从 Rest API 响应内容处置输出中下载 javascript 中的 excel 文件 [对象,对象]

    我想从我的 angularJs 代码下载一个 excel 文件 我向 Java Rest API 发出 http post 请求并返回带有标头的文件 Content Disposition 附件 文件名 new excel file xls
  • NInject:你在哪里保存对内核的引用?

    我在一个新的 Web 应用程序上使用 NInject 但有两件事我不清楚 我是否不需要保留对内核 会话 应用程序变量 的引用以确保 GC 不会收集我的所有实例 例如 如果我指定 Using 然后收集内核对象 那么我的所有 单例 不是也会被收
  • 未将对象引用设置为对象 UnityEngine 的实例

    长话短说 在编写游戏代码时 我突然遇到了一堆这样的错误 数字不断上升 NullReferenceException Object reference not set to an instance of an object UnityEngi
  • Bundler 找不到 gem“rack”的兼容版本:

    我是 Ruby 新手 但实际上如果我不想安装 Redmine 我就不需要它 我正在按照以下说明进行操作http www redmine org projects redmine wiki HowTo install Redmine on C
  • 有没有办法使用 openURL 将 pin 放入 google 地图 iphone 应用程序中?

    我想创建一个 iPhone 应用程序 可以打开谷歌地图应用程序并在地图上放置图钉 我有图钉的确切位置 由其经度和纬度指定 我还有一个引脚名称 例如 位置 1 应与图钉一起显示 我知道 UIApplication openURL 可用于此目的
  • PHP 中的 MD5 替代方案? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • antlr 全局规则范围声明与 @members 声明

    在这种情况下 您更喜欢声明变量 全局作用域还是 members 声明 在我看来 他们可以达到同样的目的 UPDATE这是一个语法来解释我的意思 grammar GlobalVsScope scope global int i lexer h
  • 将最新的 EclipseLink 版本添加到 Netbeans 项目中?

    我正在使用 EclipseLink 作为使用 Netbeans 的持久性提供程序 使用 JPA 开发 JSF 应用程序 EclipseLink 的默认版本是 Netbeans 7 1 中的 2 0 但我非常需要为 eclipselink d
  • 在 Ruby 中按名称获取一个类?

    有一个包含模块和类名称的字符串 例如 Admin MetaDatasController 我如何获得实际课程 如果没有模块 以下代码将起作用 Kernel const get MetaDatasController 但它与模块中断 ruby
  • Android:删除整个数据库

    我想删除由我的应用程序创建的完整数据库 你知道有什么adb命令或者android语句可以做到这一点吗 您可以运行命令 adb s emulator 5554 shell or whatever port you use cd data da
  • 如何在 iOS 上删除配对的蓝牙设备?

    我希望我的应用程序可以删除配对的蓝牙设备 因为如果设备与 iPhone 配对 则该设备无法用于其他设备 我尝试了 CBCentralManager cancelPeripheralConnection 但它不起作用 他们仍然配对 或者还有其
  • 选择语句REF oracle

    我需要一些帮助来创建将使用引用的选择语句 我设法很好地插入了值 但是当我尝试使用 where 语句提取值时 输出要么是数据类型错误 要么会输出两个表以及它们都包含的数据 这只是一个例子 Create or replace table1 Ty