标签: oracle-sqldeveloper

如何使用Oracle SQL开发人员运行存储过程?

*EDIT6:*这最终为我工作(从接受的答案):

var ret1 number
var tran_cnt number
var msg_cnt number
var rc refcursor
exec :tran_cnt := 0
exec :msg_cnt := 123
exec get_account(Vret_val => :ret1, Vtran_count => :tran_cnt, Vmessage_count => :msg_cnt, Vaccount_id => 1, rc1 => :rc)
print :tran_cnt
print :msg_cnt
print :rc
Run Code Online (Sandbox Code Playgroud)

SQL Developer让这个超级难/不可能?我不在乎该实用程序是否基于命令行; 我只是希望能够快速运行并查看它.如果它也能很好地捕获错误,那就太好了.能够逐步(交互式)登录,以及一次性指定所有内容(类似于典型的基于ftp/sftp cmd的客户端的工作方式)将会很棒.

我的平台是Windows Server 2008 + Cygwin.

编辑:也许你会知道如何使用Python编写脚本?

编辑2:在MSFT SQL服务器中,我只需输入:

get_user 1;
Run Code Online (Sandbox Code Playgroud)

然后突出显示它并点击F5,我得到:

login   name    
NULL    Somename
Run Code Online (Sandbox Code Playgroud)

打印到输出窗口.Oracle SQL开发人员根本没有帮助.我不知道如何传入1,我不知道如何查看返回的实际行/记录.

编辑3:当我输入var rc refcursor;并选择并运行它时,我收到此错误(GUI):

An error was encountered performing the requested …
Run Code Online (Sandbox Code Playgroud)

oracle plsql stored-procedures sys-refcursor oracle-sqldeveloper

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

如何从返回引用游标的Oracle过程中获得格式良好的结果?

在MS SQL Server中,如果我想检查存储过程的结果,我可能会在Management Studio中执行以下操作.

--SQL SERVER WAY
exec sp_GetQuestions('OMG Ponies')
Run Code Online (Sandbox Code Playgroud)

结果窗格中的输出可能如下所示.

ID    Title                                             ViewCount   Votes 
----- ------------------------------------------------- ---------- --------
2165  Indexed View vs Indexes on Table                  491         2  
5068  SQL Server equivalent to Oracle’s NULLS FIRST     524         3 
1261  Benefits Of Using SQL Ordinal Position Notation?  377         2 

(3 row(s) affected)
Run Code Online (Sandbox Code Playgroud)

无需编写循环或PRINT语句.

要在Oracle中执行相同的操作,我可能会在SQL Developer中执行以下匿名块

--ORACLE WAY
    DECLARE
        OUTPUT  MYPACKAGE.refcur_question;
        R_OUTPUT MYPACKAGE.r_question;
        USER    VARCHAR2(20);

BEGIN

  dbms_output.enable(10000000);
  USER:= 'OMG Ponies';
  recordCount := 0;



  MYPACKAGE.GETQUESTIONS(p_OUTPUT => OUTPUT, 
  p_USER=> USER, 

  ) ;




  DBMS_OUTPUT.PUT_LINE('ID | …
Run Code Online (Sandbox Code Playgroud)

oracle oracle10g oracle-sqldeveloper

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

需要使用sql developer在oracle db上按日期计算记录和组计数

我有一张如下表

   ID                created    sent    type
-----------------------------------------------------
0001463583000051783  31-JUL-12  1   270
0081289563000051788  01-AUG-12  1   270
0081289563000051792  01-AUG-12  1   270
0081289563000051791  01-AUG-12  1   270
0081289563000051806  01-AUG-12  1   270
0001421999000051824  06-AUG-12  1   270
0001421999000051826  06-AUG-12  1   270
0001464485000051828  06-AUG-12  1   270
0082162128000051862  09-AUG-12  2   278
0082162128000051861  09-AUG-12  2   278
0022409222082910259  09-AUG-12  3   278
Run Code Online (Sandbox Code Playgroud)

我想要输出以下内容

created     Count
---------------------
31-JUL-12   1
01-AUG-12   4
06-AUG-12   3
09-AUG-12   3
Run Code Online (Sandbox Code Playgroud)

在Oracle 10g上使用SQL Developer实现这一目标有多难

我已经尝试了几个查询来生成这样一个表,最后它没有按日期对计数进行分组,当我们每天平均5000-10000个事务时,只给我一个'1'计数.我可能过于复杂了.但我想要一些简单的事情,我可以在日期范围内每天提取交易量.

当我运行查询时,目前发生的事情是

created     Count
---------------------
31-JUL-12   1
01-AUG-12   1
01-AUG-12   1
01-AUG-12   1
01-AUG-12   1 …
Run Code Online (Sandbox Code Playgroud)

oracle group-by count oracle10g oracle-sqldeveloper

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

添加表示两个其他Varchar列的串联的列

我有一个employees表,我想添加一个第三列,它被称为名为"FullName"的名字和名字的串联.如何在不丢失前两列任何数据的情况下实现这一目标?

sql oracle concatenation oracle-sqldeveloper

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

Oracle SQL开发人员中的DB2数据库

我听说可以使用像Oracle SQL开发人员这样的客户端连接到大型机DB2数据库.我看上线了,似乎无法在SQL开发人员中找到执行此操作所需的连接器文件.任何人都可以指示我使用链接来完成这项工作吗?或者告诉我,我是否只是在寻找错误的东西.我有连接器在Oracle中使用MySQL数据库,所以我认为它与DB2数据库类似.

database oracle db2 mainframe oracle-sqldeveloper

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

如何在sql中提取周数

我有一个varchar2类型的transdate列,它有以下主菜

01/02/2012
01/03/2012
Run Code Online (Sandbox Code Playgroud)

等等

我使用to_date函数将其转换为另一列中的日期格式.这是我得到的格式.

01-JAN-2012
03-APR-2012
Run Code Online (Sandbox Code Playgroud)

当我试图提取weekno时,我得到所有空值.

选择to_char(to_date(TRANSDATE),'w')作为tablename的weekno.

null
null
Run Code Online (Sandbox Code Playgroud)

如何以上述格式从日期获取weekno?

sql oracle oracle-sqldeveloper

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

在COALESCE中使用SELECT

如何更正以下SQL代码,特别是COALESCE部分?

insert into Stmt G (ID,blah,foo)
select
coalesce(SELECT ID FROM Stmt G WHERE G.CLAIMNO=C.CLNUMBER, select StmtSeq.nextval from dual),
c.blah,
d.foo
from claim c
left join d on ...;
Run Code Online (Sandbox Code Playgroud)

如果ClaimNo匹配,我将从Stmt表中获取ID,否则创建一个新ID.SQL中不允许这样做吗?我怎么能写这个陈述?

我现在正在coalesce部分出现"Missing Expression"错误.

sql oracle plsql oracle-sqldeveloper

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

如何更改Oracle SQL Developer/Oracle Data Modeler的时区?

每次运行Oracle SQL Developer或Oracle Data Modeler时,都会收到以下错误消息:

ora-01882"未找到时区地区"

挖掘这个问题,我发现Oracle SQL Developer和Oracle Data Modeler都说我的时区是Europe/Berlin,它没有列在Oracle的系统视图中V$TIMEZONE_NAMES.

因此,我需要更改Oracle SQL Developer(而不是数据库)中的时区以匹配找到的最相似的时区V$TIMEZONE_NAMES.

oracle-sqldeveloper

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

在Oracle SQL Developer中恢复未保存的SQL查询脚本

由于这些聪明的代码,我知道如何在SQL Server中执行此操作

Use <database>
SELECT execquery.last_execution_time AS [Date Time], execsql.text AS [Script] 
FROM sys.dm_exec_query_stats AS execquery
CROSS APPLY sys.dm_exec_sql_text(execquery.sql_handle) AS execsql
ORDER BY execquery.last_execution_time DESC
Run Code Online (Sandbox Code Playgroud)

消息来源: 恢复未保存的SQL查询脚本

有没有办法在Oracle SQL Developer中执行此操作?

sql oracle oracle-sqldeveloper

17
推荐指数
3
解决办法
5万
查看次数

如何在sqldeveloper 4.0中对齐查询?

我有用sqldeveloper编写的查询,但我不知道如何以整齐的顺序对齐或格式化查询.

PS:我不知道这里是否可以提出这个问题.如果有人知道答案,请回答.

oracle-sqldeveloper

17
推荐指数
3
解决办法
5万
查看次数