我非常不擅长Oracle,现在我需要将以下Oracle 11视图转换为Postgresql 12视图。 CREATE OR REPLACE FORCE VIEW "V_DESC_VALUE_HIERARCH_FULL" ("CHILD_VALUE_ID", "PARENT_VALUE_ID", "VALUE_LEVEL") AS
select DESCRIPTOR_VALUE_ID as CHILD_VALUE_ID,
CONNECT_BY_ROOT DESCRIPTOR_VALUE_ID as PA
使用作为“输入”消耗的材料的大型数据库,以在多代中创建各种“输出”。最终的输出(市场上的产品)在其历史上可能有dozen+代的输入。这些输入中的每一个都有自己的记录。 目前,我正在使用LEVEL创建这个谱系的自上而下视图(意思是从最终产品开始,通过所有输入返回)。 代码的简化/概念示例如下: SELECT
OL.LOT_NAME AS output_id,
IL.LOT_NAME AS input_id,
LEVEL
FROM GENEALOGY_TABLE G
INNER JOIN LOT_TABLE OL
on G.OUTPUT_LOT_KEY = OL.LOT_KEY
INNE
考虑以下有向图:
我希望能够在这个图中选择两个节点,然后找到这两个节点之间的所有可能路径。(不是所有的路径,只是那些不包含循环的路径。)
首先,我在视图中对图建模(作为传递闭包)
CREATE OR REPLACE VIEW closure AS
WITH
edges AS (
-- for demonstration purposes, I just need to model the edges
SELECT 'A' AS start_node, 'C' AS end_node FROM dual UNION ALL
我刚接触PostgreSQL,在将数据库从Oracle迁移到PostgreSQL 9.2时遇到了问题。我必须在我的代码中更改一些原生查询。我有一个子查询,比如:
SELECT wm_concat(p.first_name || ' ' || p.last_name)
FROM TODO_PERSON PR
JOIN PERSON P ON (p.id == pr.person_id)
WHERE todo_id = internal_table.id
在PostgreSQL中,我找不到等效的函数或其他解决方案...
我有一个简单的查询:
SELECT DISTINCT
dep.DEP_ID,
dep.DEP_NAME,
dep.PARENT_DEP_ID,
emp.SITE_LOCATION
from DEPARTMENT dep
INNER JOIN EMPLOYEE emp ON dep.DEP_ID = emp.DEP_ID
ORDER BY dep.DEP_ID;
这将返回一些具有相同departments、DEP_NAME和PARENT_DEP_NAME的行的信息。这是预期的结果,因为有些员工属于同一个部门,但拥有不同的SITE_LOCATION。
我想要的是添加另一列MASTER_
我正在处理Oracle中的一个问题,我正在努力“优雅地”解决这个问题。
我有一个包含三个不同标识符的数据摘录: A、B、C
每个标识符可以出现在多个行中,并且每行可以具有这三个标识符中的一个或多个(即,该列已填充或为null)。
我希望能够对所有具有共同的A、B或C任意组合的记录进行分组,并为它们分配相同的组id。
提取表格,显示最终的组应该是什么:
Rownum | A | B | C | End group
1 p NULL NULL 1
2 p r NULL 1
3 q NUL
我为我的头衔感到抱歉,但这是完全正确的。我不太了解PostgreSQL,但我必须接受别人的申请。我了解SQL,所以接管任何基于MSSQL、Oracle、MySQL、PostgreSQL、……的应用程序通常都没有问题。但是这里有一些PostgreSQL方面。有人能给我解释一下这个问题吗?
select company_generate_course_template_fc
((select company_id from company order by 1 desc limit 1)::int)
给定具有列的名为“类别”的表
CATEGORY_NAME
CATEGORY_PARENT_NAME
活动的
而这个查询
SELECT *
FROM CATEGORY
WHERE ACTIVE = 'TRUE'
START WITH CATEGORY_PARENT_NAME IS NULL
CONNECT BY CATEGORY_PARENT_NAME = PRIOR CATEGORY_NAME
ORDER SIBLINGS BY MENU_INDEX
我试图只获取根父节点是活动的活动子节点,但是oracle也返回非活动根的活动子节点,甚至通过他们
有没有办法根据结果集中某一列的值在Mybatis中创建一个Map of List?
为了解释我的场景,下面是结果集。
这是Oracle分层查询的结果集:
SELECT * FROM (
SELECT *
FROM MA0101.MESSAGE_NOTIFICATION
START WITH ORIGINAL_MESSAGE_SEQ_NO IS NULL
CONNECT BY PRIOR MESSAGE_SEQUENCE_NO = ORIGINAL_MESSAGE_SEQ_NO
ORDER SIBLINGS BY LAST_UP
使用Oracle 10.2.0。
我有一个由行号、缩进级别和文本组成的表。我需要写一个例程‘自然’排序的文本在缩进水平,是一个较低的缩进水平的孩子。我对分析例程的经验有限,并通过/先前联系起来,但从我在这里和其他地方所读到的资料来看,它们似乎可以用来帮助我的事业,但我不知道如何去做。
CREATE TABLE t (ord NUMBER(5), indent NUMBER(3), text VARCHAR2(254));
INSERT INTO t (ord, indent, text) VALUES (10, 0, 'A');
INSERT INTO t (ord,
我在SQL Server中有一个表,其中有一个类型为hierarchyid的列,问题是我在PostgreSQL中找不到与之对应的数据类型。
CREATE TABLE dbo.exampleTable{
id int;
name varchar(255);
level hierarchyid not null;
}
我该如何在PostgreSQL中编写等价的代码呢?
从带有2列的Oracle表(childName、parentName)
a, b
b, c
c, d
m, n
x, y
我希望得到从子'a‘开始的所有父级层次结构,并将其作为下表返回
a, b
a, c
a, d
b, c
b, d
c, d
我试过了(更新)
SELECT CONNECT_BY_ROOT childName AS childName, parentName
FROM table_parents
START WITH childName IN (
SELECT 'a' as parentName FROM DUAL
UNION
有人能解释一下在oracle的分层查询中使用nocycle和connect by root子句吗?还有,当我们不使用'start with‘时,我们获得行的顺序是什么?我的意思是,当我们不使用'start with’时,我们会得到很多行,有人能解释nocycle和connect by root的用法吗(与start with有什么不同?)使用简单的emp表,谢谢你的帮助
我有两台机器,安装了oracle数据库的windows 10笔记本和安装了DBeaver的Raspberry Pi 4。在Raspberry上,我有PostgreSQL,我可以通过dbeaver在本地访问它,但是由于我正在学习和练习Oracle,所以我需要使用Raspberry访问数据库。有什么办法吗?这两台机器连接在同一个wifi上。
我在Oracle数据库中有两个表:document和document_closure。
文档:
- id
- name
- parent_id
document_closure:
- id
- parent_id
- child_id
- level
document表有大量的数据(10k~20k)。document_closure是空的。
问题:如何使用基于document表的数据填充document_closure表。我的任务需要什么sql脚本?
让我说我有这样的树。示例:
A
|
- B
|
- C
文档表:
id | parent_id | name
1 |
我的问题是如何通过SQL查询或任何其他内部/外部工具来查找oracle包依赖项。这是可能的,还是应该让我自己在代码中找到答案?
案例:
我有一个包,其中包含4个过程A、B、C、D和1个函数F。
A是运行B和C过程的“主”过程。
函数F由B和C程序使用。
过程D是独立的(使用elswhere)。
现在我想得到这样的结果:
STATUS PRC/FNC NAME PRC/FNC NAME USED INSIDE
------ ------------ ------------------------
MAIN A
我试图在PostgreSQL9.6中安装和使用oracle_fdw,但是每次运行以下命令时都会收到相同的问题:
create extension oracle_fdw;
ERROR: could not load library "D:/PostgreSQL/pg96/../pg96/lib/postgresql/oracle_fdw.dll":
The specified module could not be found.
这里有两件事很奇怪:
它正在寻找dll的文件夹有一个"..“在中间,所以它似乎应该只查看D:\PostgreSQL\pg96\l