标签: oracle-sqldeveloper

将 SQL 查询转换为可视化图表的工具?

我有一堆 Oracle SQL 查询,我想为其准备一些可视化模型/图表。例如,显示所有表、连接和连接条件。

存在这样的工具吗?

sql oracle oracle11g oracle-sqldeveloper

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

如何使用 SQL Developer 显示引用游标的结果

我有一个带有多个游标的存储过程。它们被定义为 IN OUT 参数。我想使用 SQL Developer 显示游标的结果。这是存储过程的示例:

SET serveroutput on;
DECLARE
         p_input_stream       VARCHAR2(200);
        p_msg_code            NUMBER;
         p_msg_parms                         VARCHAR2(200);
         p_return_code                       NUMBER;
         p_trailer_cur                    sl_globals.curtype_weak;

 BEGIN
    /* Assign values to IN parameters */
    p_input_stream := '24954286Mnull|5155035|2|436|SCAN|47720|XTRA|0105||5155035||||N|~|\r';
    p_trailer_cur := null;

EXEC TRAILER_INFO(p_input_stream, 
        p_msg_code, p_msg_parms, p_return_code, 
        p_trailer_cur)

 /* Display OUT parameters */
    dbms_output.put_line('p_msg_code: ' || p_msg_code);
    dbms_output.put_line('p_msg_parms: ' || p_msg_parms);
    dbms_output.put_line('p_return_code: ' || p_return_code);
Run Code Online (Sandbox Code Playgroud)

我尝试创建一个 refcursor 变量并使用它来代替p_trailer_cur这样

VARIABLE trailer_cur refcursor;
 EXEC TRAILER_INFO(p_input_stream, 
        p_msg_code, p_msg_parms, p_return_code, 
        :trailer_cur)
 print trailer_cur;
Run Code Online (Sandbox Code Playgroud)

我收到错误:

SP2-0552:绑定变量“trailer_cur 未声明。

该变量已声明,所以我不明白该错误。

plsql oracle-sqldeveloper

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

SQL Developer 中脚本完成后的通知

我对任何在该脚本完成执行后通知我的方法感兴趣。它正在从一个数据库完全加载到另一个数据库,每次执行时都会加载一个月的数据。完成后,我需要在更新控制表以加载下个月后再次启动它。由于数据量和可用 Oracle 资源的变化,执行时间差异很大,因此简单地设置计时器会导致不必要的检查或损失潜在的加载时间。

BEGIN
  PKG_PACKAGENAME.PROCEDURENAME;  
END;
Run Code Online (Sandbox Code Playgroud)

这些是我的想法,但我不知道在没有重大外部依赖的情况下实际上可以实现什么。目前优先选择最简单的方法。如果可以在安全的企业环境中运行,任何类似的东西也可能没问题。我不想修改包或过程内容。

  • 发出声音通知
  • 将 SQL Developer 窗口置于最前面
  • 执行启动 IFTTT 应用程序的 http 请求以发送推送通知
  • 运行一个执行http请求的python脚本

oracle windows-7-x64 oracle-sqldeveloper

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

ORA-00908: Oracle SQL 中缺少 NULL 关键字(blob 数据类型)

我在创建一个对 2 个仅应包含 json 的 blob 数据类型进行约束的表时遇到错误。

错误是ORA-00908: missing NULL keyword

这是我的脚本

CREATE TABLE TEST
  (
    LOG_ID NUMBER(19,0) NOT NULL,
    DATA_BEFORE BLOB NULL,
    DATA_AFTER BLOB NULL,
    CONSTRAINT LOG_ID_PK PRIMARY KEY (LOG_ID),
    CONSTRAINT DATA_BEFORE_JSON CHECK(DATA_BEFORE IS JSON FORMAT JSON)) LOB (DATA_BEFORE) STORE AS(STORAGE (NEXT 15M)),
    CONSTRAINT DATA_AFTER_JSON CHECK(DATA_AFTER IS JSON FORMAT JSON)) LOB (DATA_AFTER) STORE AS(STORAGE (NEXT 15M))
    );
Run Code Online (Sandbox Code Playgroud)

非常感谢。

sql oracle oracle-sqldeveloper

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

Sql Developer 中 Excel 文件的数据导出限制

.xlsx在将数据导出到SQL Developer 结果集中并从 SQL Developer 结果集中导出文件时,我遇到了一个非常奇怪的问题。我在 SQL Developer 和 Dbeaver 上运行了相同的查询。当我将数据从 SQL Developer 导出到.xlsx文件时,导出到工作表的行数为47519;当我通过 Dbeaver 将相同数据导出到.xlsx文件时,行数为87936

我现在很困惑,要么是超出了 SQL Developer 的限制,要么是其他问题。好吧,我尝试了另一个结果集,然后 SQL Developer 导出的行数跳至 ,49916而在 Dbeaver 中,行数约为87534

它造成了很多麻烦,因为过去几周我一直依赖通过 SQL Developer 导出的数据文件。

我只是想知道我在这里可能面临什么问题。

export-to-excel oracle-sqldeveloper dbeaver

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

Oracle SQL Developer:运行脚本,出现错误时继续

我正在使用 SQL Developer 20.2 运行 Oracle 12c 数据库更新的批处理脚本。我将脚本文件拖放到编辑器窗口中,然后单击“运行脚本 (F5)”按钮。由于某种原因,如果脚本遇到错误(DDL 语句 - 没有显式抛出 PL/SQL 函数),程序就会停止。

例子:

drop sequence my_seq;  -- sequence may not exist yet
create sequence my_seq
  start with 1
increment by 1
    minvalue 1
    maxvalue 9999999999
       cache 100
       cycle;
Run Code Online (Sandbox Code Playgroud)

由于序列不存在,该drop语句可能会出错。SQL*Plus 忽略该错误并继续运行脚本,但 SQL Developer 停止执行,导致补丁更新不完整。

我能做些什么?

oracle oracle-sqldeveloper oracle12c

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

Oracle SQL 开发人员 - 用引号和逗号包围文本列表的最简单方法是什么?

这是一个例子。我得到如下列表


99X2H19JBF11534
16B4H5FHCA12592
ABE4H5FHAA08646
SE0753207527
PAK810869145
PAK810714143
PAK810547887
PAK810340854
PAK820090918
Run Code Online (Sandbox Code Playgroud)

然后,我在 excel 中使用连接(并用引号和逗号包围列表)在 Oracle SQL Developer 中运行如下查询。

select * from admin.repair

where repair_nbr in (

'99X2H19JBF11534',
'16B4H5FHCA12592',
'ABE4H5FHAA08646',
'SE0753207527',
'PAK810869145',
'PAK810714143',
'PAK810547887',
'PAK810340854',
'PAK820090918');
Run Code Online (Sandbox Code Playgroud)

我想知道其他人是否有更简单的方法在 Oracle SQL Developer 中用引号和逗号包围列表。

oracle oracle-sqldeveloper

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

Oracle - 为什么 CHAR 列自动添加前导零?

我正在使用 Oracle DB 11g

我有一个数据库表,其主键是 CHAR(4) - 尽管该列仅使用数字。

我注意到有些记录显示“0018”或“0123”。

我注意到很少有奇怪的事情并且需要一些帮助

- CHAR 列是否“自动”将零填充到某个值?

-我还注意到,在编写 SQL 时,如果我不在 where 子句中使用引号,它会返回结果,但如果我使用引号,它不会返回结果?例如

DB CHAR(4) 列的键为“0018”

我用这个查询

SELECT * FROM TABLE_A WHERE COLUMN_1=18;
Run Code Online (Sandbox Code Playgroud)

我按预期得到了行。

但是当我尝试以下操作时

SELECT * FROM TABLE_A WHERE COLUMN_1='18';
Run Code Online (Sandbox Code Playgroud)

这不起作用,但它又起作用了

SELECT * FROM TABLE_A WHERE COLUMN_1='0018';
Run Code Online (Sandbox Code Playgroud)

所以我有点困惑第一个查询如何在没有引号的情况下按预期工作?

sql oracle char oracle11g oracle-sqldeveloper

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

我该如何修复此错误:DotTeach.exe中出现未处理的"System.NullReferenceException"类型异常

附加信息:未将对象引用设置为对象的实例.

我有这个代码

DotTeachDataSet ds;
DotTeachDataSetTableAdapters.QuestionsTableAdapter ta;

private void button1_Click(object sender, RoutedEventArgs e)
{                                         
    ta.CreateQuestion(discussionQuestion.Text, webPage.Text, choiceA.Text, choiceB.Text, choiceC.Text, choiceD.Text, hint.Text, rightAnswerCbox.Uid);
    ta.Fill(ds.Questions);
}
Run Code Online (Sandbox Code Playgroud)

我试图从xaml中的文本框中获取值并将它们发送到数据库但我不断收到错误:

DotTeach.exe中出现未处理的"System.NullReferenceException"类型异常

附加信息:未将对象引用设置为对象的实例.

和视觉工作室突出了这条线

ta.CreateQuestion(discussionQuestion.Text, webPage.Text, choiceA.Text, choiceB.Text, choiceC.Text, choiceD.Text, hint.Text, rightAnswerCbox.Uid);
Run Code Online (Sandbox Code Playgroud)

有没有人有任何想法我可以尝试?

我摆脱了错误信息,但它仍然没有做我需要它做的事情.我试图让它在单击按钮时将数据添加到数据库.继承人我正在使用的功能不起作用

private void button1_Click(object sender, RoutedEventArgs e)
    {
        DotTeach.DotTeachDataSet dotTeachDataSet = ((DotTeach.DotTeachDataSet)(this.FindResource("dotTeachDataSet")));
        DotTeach.DotTeachDataSetTableAdapters.QuestionsTableAdapter dotTeachDataSetQuestionsTableAdapter = new DotTeach.DotTeachDataSetTableAdapters.QuestionsTableAdapter();


        //ADD THE QUESTION TO THE DATA BASE
        dotTeachDataSetQuestionsTableAdapter.CreateQuestion(discussionQuestion.Text, webPage.Text, choiceA.Text, choiceB.Text, choiceC.Text, choiceD.Text, hint.Text, rightAnswer.Text);
    }
Run Code Online (Sandbox Code Playgroud)

我甚至不确定还有什么可以尝试的.

c# visual-studio-2010 oracle-sqldeveloper

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

PL SQL遍历ID列表

我有一个名字清单。

约翰,山姆,彼得,杰克

我想查询与上面的每个过滤器相同的SQL。每个查询都会给我一个唯一的员工ID,我想用它删除其他一些记录。

select emp_id from employee where emp_name like '%john%';
Run Code Online (Sandbox Code Playgroud)

假设第一个查询的ID为1001。因此删除查询如下。

delete from account_details where emp_id = 1001;
delete from hr_details where emp_id = 1001;
delete from pay_role_details where emp_id = 1001;
Run Code Online (Sandbox Code Playgroud)

对于员工列表,我必须重复此操作。伪代码如下所示。

var emp_list = ['john', 'jack', 'kate', 'peter', 'sam',...]

for each :employee_name in emp_list
    select emp_id as :var_emp_id from employee where emp_name like '%:employee_name%'; 

    delete from account_details where emp_id = :var_emp_id;
    delete from hr_details where emp_id = :var_emp_id;
    delete from pay_role_details where emp_id = :var_emp_id;
end loop …
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql plsqldeveloper oracle-sqldeveloper

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