小编mat*_*guy的帖子

Oracle 中的简单递归查询

我目前在理解和编写递归查询方面遇到了一些麻烦。我知道递归查询用于搜索信息的层次结构,但我还没有在网上找到一个可以向上移动层次结构的简单解决方案。例如,假设我有一个对家谱建模的关系:

create table family_tree (
child varchar(10)
parent varchar(10)
);
Run Code Online (Sandbox Code Playgroud)

如果我想编写一个递归查询,遍历这个家谱,收集所有父母直到起源,我应该怎么做?

提前致谢。

sql oracle recursive-query

9
推荐指数
2
解决办法
2万
查看次数

Oracle SQL总结值,直到达到另一个值

我希望我能以一种可以理解的方式描述我的挑战.我在Oracle Database 12c上有两个表,如下所示:

表名"发票"

I_ID | invoice_number |     creation_date     | i_amount
------------------------------------------------------
  1  |  10000000000   |  01.02.2016 00:00:00  |   30
  2  |  10000000001   |  01.03.2016 00:00:00  |   25
  3  |  10000000002   |  01.04.2016 00:00:00  |   13
  4  |  10000000003   |  01.05.2016 00:00:00  |   18
  5  |  10000000004   |  01.06.2016 00:00:00  |   12
Run Code Online (Sandbox Code Playgroud)

表名"付款"

P_ID |   reference    |     received_date     | p_amount
------------------------------------------------------
  1  |  PAYMENT01     |  12.02.2016 13:14:12  |   12
  2  |  PAYMENT02     |  12.02.2016 15:24:21  |   28
  3  |  PAYMENT03 …
Run Code Online (Sandbox Code Playgroud)

sql oracle

8
推荐指数
1
解决办法
1668
查看次数

SQL合并具有相同ID但不同列值的两行(Oracle)

我正在尝试将不同的行合并为一个,因为它们具有相同的ID但不同的列值.

例如 :

    (table1)

    id       colour

    1        red
    1        blue
    2        green
    2        red
Run Code Online (Sandbox Code Playgroud)

我希望这个结合起来,结果是:

    id     colour1    colour2

    1      red        blue
    2      green      red
Run Code Online (Sandbox Code Playgroud)

要么

    id     colour

    1      red, blue
    2      green, red
Run Code Online (Sandbox Code Playgroud)

或者上面的任何其他变化,以便行以某种方式连接在一起.

任何帮助,将不胜感激!提前致谢.

sql oracle

6
推荐指数
1
解决办法
2万
查看次数

查找表中不存在的值

假设我有一张桌子:

ID   ACCNT   DESC
1    123     aaa
2    234     bbb
3    345     ccc
Run Code Online (Sandbox Code Playgroud)

我有一个帐号列表 123,345,555,777。
所以我可以得到一个存在的列表

SELECT * FROM MY_TABLE WHERE ACCNT IN (...my list...)
Run Code Online (Sandbox Code Playgroud)

现在我想完成相反的事情。
从我的列表中,我想要一个查询来显示不在表中的帐号。

所以在我的例子中,我想报告表中不存在 555 和 77。

如何在 Oracle SQL 中编写此查询?

sql oracle

5
推荐指数
1
解决办法
7665
查看次数

在行之间随机排列一列

如何有效地打乱大型(1m 到 5m 记录)表的内容?已知该列具有唯一值,但您可以假设为此目的删除了所有约束。我的头痛主要是因为我正在更新我选择的同一列。我的目标是使用 PL/SQL 做到这一点,以便我可以以编程方式执行其他操作,例如记录或更新其他表。

**Original table:**
+----+-----------+
| id | fname     |
+----+-----------+
|  1 | mike      |
|  2 | ricky     |
|  3 | jane      |
|  4 | august    |
|  6 | dave      |
|  9 | Jérôme    |
+----+-----------+

**Possible output:**
+----+-----------+
| id | fname     |
+----+-----------+
|  1 | dave      |
|  2 | jane      |
|  3 | mike      |
|  4 | ricky     |
|  6 | Jérôme    | …
Run Code Online (Sandbox Code Playgroud)

sql oracle

5
推荐指数
0
解决办法
2595
查看次数

尝试连接到db时,MySQL版本7.0.6-IR3问题

当我尝试连接到MySQL数据库时出现以下错误.

违反了类型的继承安全规则:'MySql.Data.MySqlClient.MySqlProviderServices'.派生类型必须与基本类型的安全可访问性匹配,或者不太容易访问.

以下是entityframework配置:

 <entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=7.0.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
    </providers>
  </entityFramework>
Run Code Online (Sandbox Code Playgroud)

在此之前我使用MySQL 6.9.9并且没有错误发生.请帮忙.

mysql entity-framework-6

5
推荐指数
1
解决办法
767
查看次数

尝试使用 SQL 从多个表中删除

我的应用程序中有 4 个表:

  • 用户
  • 用途
  • 上行列表
  • 项目共享

最后三个表包含一个名为 的字段session_id

在下面的代码中,括号中的部分用于session_idusession用户“awpeople”的表中获取所有值。

问题是如何将这个结果集读入一个数组并从session_id数组结果中的所有三个表中删除。

代码:

DELETE FROM usession, 
            upklist, 
            projshar 
WHERE  session_id = (SELECT session_id 
                     FROM   usession 
                     WHERE  delete_session_id IS NULL 
                            AND user_id = (SELECT user_id 
                                           FROM   users 
                                           WHERE  REGEXP_LIKE(USER_NAME, 
                                                  'awpeople', 'i'))); 
Run Code Online (Sandbox Code Playgroud)

sql oracle sql-delete

4
推荐指数
1
解决办法
3万
查看次数

在哪里可以找到java方法的时间复杂度?

我是 Java 新手,从 docs.oracle.com 学习各种方法,但奇怪的是,他们没有提到那里描述的任何方法的时间复杂度,例如在这个页面上:https : //docs.oracle.com/ javase/7/docs/api/java/util/ArrayList.html#get(int)
有一些关于“get()”方法的信息,但没有关于复杂性的信息!我找不到合适的地方来询问在哪里可以找到有关复杂性的信息。也许有像 cplusplus.com 这样的信息,但我不知道。我在网上搜索并失败了。所以,如果这是一个愚蠢的问题,请原谅我。

java time-complexity

4
推荐指数
1
解决办法
1875
查看次数

约束名称未知时的丢弃检查约束

是否可以删除在CREATE TABLE命令中创建的检查约束(未声明约束名称)?

sql database oracle

3
推荐指数
1
解决办法
1066
查看次数

oracle正则表达式来检查字符串包含字母和数字并且不包含特殊字符

如何创建一个 Oracle 正则表达式来检查给定的字符串是否包含数字和字母,并且不包含特殊字符。例如,

如果字符串类似于 'kjds327' 它必须返回 true

如果字符串是 'dkfsdsf' 或 '132564' 或 'asjv@3#34342fd' 它必须 返回 false

oracle regexp-like

3
推荐指数
1
解决办法
782
查看次数