问题标签 [plsqldeveloper]

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.

0 投票
5 回答
121222 浏览

oracle - 如何使用 Oracle PL/SQL Developer 创建转储?

我需要将用户(包括表、过程等)转储为FILENAME.dmp.

如果我创建一个新用户并导入它FILENAME.dmp,那么应该创建所有内容。

如何创建此转储文件?

不要告诉我使用Run > EXPorRun > IMP功能,因为由于某些问题,该功能对我不起作用。

0 投票
6 回答
15646 浏览

oracle - oracle pl/sql 错误:不能 put_line 超过 2000 个字符

有没有人注意到这种dbms_output.put_line无法一次打印超过 2000 个字符的现象?

脚本是:

我将输出复制并粘贴到编辑器(Notepad++)中,它告诉我只有 2000 个字符,而不是我认为应该粘贴的 2009。这也发生在我的一些测试脚本中——只打印了 2000 个字符。

我有一个解决方法可以像这样打印:

这会在输出中添加新行,当您正在使用的文本被预先格式化时,很难阅读。

有没有其他人注意到这一点?它真的是一个错误或某种晦涩的功能吗?有更好的解决方法吗?还有其他关于这方面的信息吗?

Oracle 版本是:10.2.0.3.0,使用 PL/SQL Developer(来自 Allround Automation)。

0 投票
6 回答
195311 浏览

database - 如何使用 PL/SQL Developer 连接到远程 Oracle DB?

我有一个数据库“TEST”,我在地址 123.45.67.89:1521 处连接到该数据库。

如何使用 PL/SQL Developer 连接到它?

0 投票
6 回答
15386 浏览

database - 如何在 PLSQL Developer 中测试包含 DML 的 Oracle 函数?

只需选择函数即可选择不包含 DML 的 Oracle 存储函数的返回值:

如果函数包含 DML(在这种情况下,一些插入记录传递给函数的参数),则不允许上述查询。(ORA-14551)

如何选择/查看此函数的返回值?

如果我在 plsql developer 中选择“test”,plsqldev 会产生如下内容:

如何查看“结果”变量的值?

在开始/结束块内产生

0 投票
2 回答
12763 浏览

java - 遍历oracle中的嵌套表并将对象列表返回给java

我创建了这个表,如下所示:

问题是我试图从表 FORNECPRODS 中获取每个供应商的产品列表,但我做不到(我的想法是返回一个结构,如带有 :list_of_products 的哈希)。为此,我仅使用此代码打印每个供应商的产品:

但它没有返回第一次选择的数据。

那么,有人可以帮我找到从oracle到java检索列表(prodtable)的方法吗?我已经有了映射供应商和产品的类,我什至将它们中的每一个的数组从 java 传递到 oracle,所以它们很好,我只需要我的 j-tree 看起来像这样:

供应商
->
SUPPLIER1 -prod1
-prod2
- ...
->
SUPPLIER2 -prod1
-prod2
- ....

supplier:list_of_products是否可以使用我当前的表和类型检索所有这些信息,例如哈希?

0 投票
2 回答
1320 浏览

oracle - 在 Oracle 中自定义 PL/SQL 异常

我经常发现自己在一个或多个表中执行一些插入/删除/更新的功能,并且我已经看到一些预期的异常被处理了,比如no_data_found,dupl_val_on_index等。对于这样的插入:

我想自定义更多我的异常或为每个选择/插入做一个异常块。这是可能的还是正确的?

如果是这样,请给我看一些带有此函数抛出的重要异常的代码?

0 投票
4 回答
2455 浏览

oracle - 引发异常的范围,在 PLSQL 代码中处理自己的异常

我有这个程序:

我想做 INSERT INTO EMP2 VALUES (old_emp.bi, old_emp.nome, old_emp.morada, old_emp.data_entrada, old_emp.data_saida, new_ndep);即使在提高dep_inexistente之后,但是在阅读了oracle的参考之后,我还是有点困惑;基本上,当它为空时,我不想插入,否则我想插入,即使部门号为空(我转为 0)。

那么,代码是否正确,或者我应该如何引发我的异常或为我的案例处理预定义的异常?

0 投票
3 回答
3981 浏览

sql - if-else、case 或 decode 在 ref 游标内

我有这个大代码,我想要在搜索中做 3 件事:
1- 查找与搜索匹配的所有订单(已交付和未交付):
2- 查找与搜索匹配的所有待处理订单;
3-查找与搜索匹配的所有已交付订单;

如果我的搜索不为空,则此方法有效,但如果是,我只想修改一点内部选择并将其变成如下所示: (select f1.id_fornecedor from fornecedor f1 where f1.nome_fornecedor LIKE '%'||search||'%')and f.data_entrega is not null)to-->(select f1.id_fornecedor from fornecedor f1)and f.data_entrega is not null)

所以我有 3 个搜索条件,我想知道是否可以使用 case、decode 甚至另一个带参数的游标来执行此内部选择:
- LIKE 如果搜索字符串不为空;
- 如果字符串为空,则没有 LIKE;

但是我还没有看到任何这样的例子,事情真的会变得非常混乱。有人可以用相同的代码帮助新手吗?

0 投票
1 回答
5433 浏览

oracle - 如何在 oracle 中选择两个日期之间或单年/月/日的结果?(to_date,提取,sysdate)

我有一个订单表,它有 2 列包含 DATE 类型:delivery_date 和 order_date。在我的 sqldeveloper 中,我通过 Java 或手动插入的所有日期都是今年 1 月 25 日的 10.01.25 格式。当我尝试查看一个日期和另一个日期之间订单的 total_price 时,我强制采用如下格式:

但我得到 -1 返回。我什至尝试像这样进行查询:select f.total_enc_fornec from fornecimento f where f.data_entrega = '10.01.24';
像这样:select f.total_enc_fornec from fornecimento f where f.data_entrega = to_date('10.01.24','yy-mm-dd');
像这样:select f.total_enc_fornec from fornecimento f where f.data_entrega < to_date('10.01.24');并且没有返回任何东西!但是如果我执行 :select f.total_enc_fornec from fornecimento f where f.data_entrega <= sysdate;它会按预期打印结果...

我怎样才能做到这一点?我显然没有正确传递参数或函数,也没有执行查询本身

顺便说一句,如果我想选择某年/月/日的所有订单?比如说,使用提取功能。你能告诉我怎么做吗?我试过了,但我遇到了同样的问题,而且我的概念很简单,至少,哈哈。

0 投票
1 回答
94 浏览

sql - 使用 oracle 数据注册一年中每个月的付款

我有以下表格:

  • 具有级别的员工(您可以称之为等级或 wtv):income_value、id 等。
  • INCOME存储排名与收入值(非常微小且静态)
  • 具有以下列的 REGIST_INCOME表:
    • ID_REG;
    • ID_EMPLOYEE;
    • MONTH_and_Year_OF_PAYMENT DATE(我想格式化为 yy.mm);
    • DATE_OF_PAYMENT 日期(格式 yy.mm.dd);
    • 收入; /*这等于INCOME中登记的收入*/。

我想创建一个函数,在每月的 ax 日生成注册表/行。
像这样:在每年的第 8 天,为每个仍然活跃的员工(又名仍然有效)在表 REGIST_INCOME 中添加一行:

... 等等...

我想要一些简单的东西,因为在 Java 中我想点击一个按钮来获取当前日期并将其放入 PAYMENT DATE。基本上,我想“自动”生成注册,然后只确认付款日期。

我会欣赏一个专注于 oracle 的日期转换和日期函数的示例。