标签: plsqldeveloper

将服务器输出永久设置为ON?

我是 Oracle 新手,正在练习 PL/SQL。我有一个问题,即:如何在 oracle 中将 serveroutput 设置为永久打开。我们有什么方法可以将其永久打开吗?

sql oracle plsqldeveloper

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

在 PL/SQL Developer SQL 窗口中执行存储过程

我已经使用 TOAD 一段时间了,但我的部门要求我评估 PL/SQL Developer 作为可能的更改。

我正在尝试在 PL/SQL 开发人员中运行以下内容。它给出了一个错误说:ORA-00900:无效的 SQL 语句

VARIABLE mycur    refcursor;
VARIABLE errorseq NUMBER;
VARIABLE errormsg CHAR;
EXEC rums.rums_sp_tv_project_breakdown2(94090,:mycur);
print mycur;
Run Code Online (Sandbox Code Playgroud)

在 TOAD 中,我可以将它放在 SQL 编辑器中,然后按 F5 键以“作为脚本执行”,输出看起来很好。

关于如何做到这一点的任何想法?我看到 PL/SQL Developer 有一个命令窗口,但我不是 SQLPlus 专家(也许是我的问题),也无法让它在命令窗口中运行。

oracle procedure exec ora-00900 plsqldeveloper

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

从 oracle 表生成 XML

需要创建一个通用存储过程,它将表名作为输入参数并创建以下格式的 xml 文件。Xml 文件名应该是表名。

    <XML>
    <TABLENAME></TABLENAME>
    <RECORDS>
    <RECORD>
              <COLNAME>AAA</COLNAME>
              <COLNAME>AAA</COLNAME>
    <RECORD>
    <RECORD>
              <COLNAME>AAA</COLNAME>
              <COLNAME>AAA</COLNAME>
    <RECORD>
    <RECORD>
              <COLNAME>AAA</COLNAME>
              <COLNAME>AAA</COLNAME>
    <RECORD>
    <RECORD>
              <COLNAME>AAA</COLNAME>
              <COLNAME>AAA</COLNAME>
    <RECORD>
    <RECORD>
              <COLNAME>AAA</COLNAME>
              <COLNAME>AAA</COLNAME>
    <RECORD>
    </RECORDS>
    </XML> 


<TABLENAME>  = actual table name(case should be same as in database)
<COLNAME> = actual column names from table(case should be same as in database)
Keep other tags as it is. Repeat <RECORD> tag for each row retrieved.
Run Code Online (Sandbox Code Playgroud)

xml oracle11g plsqldeveloper

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

如何用IDE生成SQL更新语句?

我在开发环境中有这样的表

EMP_ID 名称部门
  1 AA
  2 B BB
  3 C 抄送

我在测试环境中有相同的表,但在 DEPT 列中有空值。无论如何,是否可以根据 EMP_ID 生成更新语句,以便我可以将 DEPT 值从 dev 复制到测试?例如 IDE 应该生成 : update EMPLOYEE set dept='AA' where EMP_ID=1. 我使用 Oracle Sqldeveloper 和 PL/SQL Developer。

sql auto-generate plsqldeveloper oracle-sqldeveloper sql-update

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

从PL/SQL查询中选择dbms_output缓冲区?

我有一个存储过程mydb.iscustomereligible(someGUID)返回'true''false'在一个简单的结果集中.

如果客户不符合条件,则proc会向dbms_output输出一个原因,例如reason code: Invalid Age: 2.

如何改进以下语句以包含dbms_output文本?

select mydb.iscustomereligible('1F2629379C4FA046E050C90A0C5A3000') from dual;
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所提出的(并且令人沮丧失败),我无法让dbms_output.get_line工作

declare
  v_Data dbms_output.chararr;
  v_NumLines number;
begin
  -- enable the buffer first
  dbms_output.enable(1000000);
  dbms_output.put_line('hi');
  select mydb.iscustomereligible('1F2629379C4FA046E050C90A0C5A3000') from dual;
  select dbms_output.get_line(???) from dual;
end;  
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

sql oracle plsql plsqldeveloper

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

是否可以在 PL/SQL 开发人员测试窗口的“声明”块中声明子过程?

我需要测试一个在is块中有几个子过程的存储过程。我已将所有内容复制到测试窗口,但是,将这些子过程放在declare块中似乎不起作用。当我尝试从begin块中调用它们时,我收到一条错误消息,指出它们尚未声明。除了将内容移动isdeclare. 我能做什么?

oracle plsql plsqldeveloper

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

如何在不选择的情况下执行PL/SQL Developer 中的当前行?

我想在“PL SQL Developer”程序中执行一行而不必选择它。

到目前为止,我需要选择查询行并按 F8 键。

有什么方法不需要为我的查询选择行吗?

SELECT * FROM PRODUCT;

SELECT * FROM ALL_OBJECTS; --execute that line without selecting
Run Code Online (Sandbox Code Playgroud)

我正在使用 PL/SQL DEVELOPER 版本 14

oracle plsqldeveloper

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

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万
查看次数

在Oracle PL/SQL中有什么区别:=和=

我想在Oracle PL/SQL中知道,

=可以用于布尔比较,它也可以用于赋值吗?

虽然是:=用于变量初始化,它也可以用于赋值吗?

那么,那么使用2有什么区别?

谢谢!

plsql oracle11g plsqldeveloper colon-equals

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

在PL / SQL中执行具有功能的Oracle软件包

有没有办法在Oracle PL / SQL中执行包功能?

这是带有函数的示例包,该函数返回参考光标:

create or replace PACKAGE "PKG_PACKAGE1"
AS
    TYPE CURS_OUT IS REF CURSOR;
    FUNCTION fnc_PACKAGE1(PARAM1 VARCHAR2, PARAM2 INT) RETURN CURS_OUT;
 END "PKG_PACKAGE1";


create or replace PACKAGE BODY "PKG_PACKAGE1"
AS
FUNCTION fnc_PACKAGE1(PARAM1 VARCHAR2, PARAM2 INT) RETURN CURS_OUT
AS
    RUNCURS CURS_OUT;
        BEGIN
            OPEN  RUNCURS FOR
                SELECT 'Data Returned' FROM DUAL;
            RETURN RUNCURS;
            END;
END "PKG_PACKAGE1";
Run Code Online (Sandbox Code Playgroud)

这是我想使用SQL Developer Tools在PL / SQL中执行的方法:

 BEGIN
   :returnRes := PKG_PACKAGE1.FNC_PACKAGE1(:PARAM1,:PARAM2);
 END;
Run Code Online (Sandbox Code Playgroud)

要么

Declare 
returnRes Varchar2(200);
BEGIN
   returnRes := PKG_PACKAGE1.FNC_PACKAGE1(:PARAM1,:PARAM2);
END;
Run Code Online (Sandbox Code Playgroud)

当我运行任何一个时,我都会收到错误消息:PLS-00382:表达式类型错误。当我通过向导运行程序包时,它将返回值。

有没有一种特定的方式来执行软件包,或者不可能?

谢谢。

oracle plsql plsqldeveloper

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