标签: plsqldeveloper

为什么只从数据库视图中选择时会获得一个打开的事务?

如果我在pl/sql开发人员中对数据库表执行一个简单的select语句,我会得到一组标准的结果,如我所料.

最近,我从一个恰好从视图中选择的存储过程粘贴了一个查询,并注意到一个事务似乎保持打开状态.PL/SQL开发人员可以使用回滚和提交选项.

对其他开发人员的调查显示,这似乎影响了一些但不影响其他人,这导致我怀疑PL/SQL Developer设置.

为什么会这样呢?视图itelf有一个DBLink到另一个数据库,但我不希望这会产生任何影响.

有什么想法吗?

sql oracle plsql oracle11g plsqldeveloper

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

为什么Oracle会吃我的字符串?

我目前尝试在Oracle DB上执行以下查询

select tzname || ' (UTC'|| tz_offset(tzname) || ')' from v$timezone_names
Run Code Online (Sandbox Code Playgroud)

它似乎并不复杂.只是timzone的名称和大括号中的UTC偏移量.但是当我在Windows上使用PL/SQL Developer执行查询时,它总是会吃掉最后一个大括号.

所以我去了sqlplus并在那里执行了,现在我得到了我的最后一个大括号,但在最后一个大括号之前还有一个额外的空格作为额外的好东西.

我和嵌套尝试过to_char()trim(),但没有改变.我也尝试过不同的DB,但它总是一样的.

有人知道是否存在tz_offset字符串连接问题?

oracle oracle10g plsqldeveloper

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

PL/SQL Developer上的主题或外观

如何在PL/SQL Developer中更改所有外观和颜色?因为在当前时间,很难以黑色全部工作!

plsqldeveloper

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

如何在ORA-06502之后将VARCHAR2转换为Oracle 11g PL/SQL中的BLOB

我有一个函数,计算大字符串的哈希值!首先,我写了一个游标T1_CUT,它可以包含SELECT语句的变量计数,如:

SELECT T1.COL1||T1.COL2||...||T1.COLn FROM T1 WHERE id=documentid
SELECT T2.COL1||T2.COL2||...||T2.COLn FROM T2 WHERE id=documentid
...
SELECT Tn.COL1||Tn.COL2||...||Tn.COLn FROM Tn WHERE id=documentid
Run Code Online (Sandbox Code Playgroud)

每个SELECT都可以包含一行或多行.因此,我将每个SELECT和ALL SELECTs值中的所有值连接在一个大字符串V_RESULT中,类型为VARCHAR2(32767).之后,我使用MD5得到这个大字符串的哈希值(S_HASH_RESULT).它工作正常约8个月,但几天前我有ORA-06502(毫不奇怪).这意味着,我的最后一个大字符串有超过32K符号(我们使用1字节字符集--CL8MSWIN1251).

朋友们,我怎样才能重写我的函数,将BLOB数据类型用于V_RESULT变量,而不是VARCHAR2(32767).

下面是我的功能文字:

FUNCTION CALC_HASH (P_PARTAB_ID IN NUMBER, P_DOC_ID IN NUMBER)
RETURN VARCHAR2
IS
  S_HASH_RESULT VARCHAR2(1000);
  V_RESULT VARCHAR2(32767);
  CURSOR T1_CUT IS
   ...
   /*BIG COMPLAIN SELECT*/
   ...

    T1 T1_CUT%ROWTYPE;
  TYPE VALUES_T IS TABLE OF VARCHAR2(32767);
  L_VALUES VALUES_T;
BEGIN
   OPEN T1_CUT;
   FETCH T1_CUT INTO T1;
     WHILE T1_CUT%FOUND
      LOOP
        EXECUTE IMMEDIATE
         T1.TEXT
        BULK COLLECT INTO L_VALUES;
        FOR INDX IN 1 .. L_VALUES.COUNT …
Run Code Online (Sandbox Code Playgroud)

plsql blob oracle11g plsqldeveloper

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

PL/SQL中"/"做什么?

我查看了一些PL/SQL代码,我在脚本中遇到了以下内容:

/
SHOW error

grant execute on someName1 to someName2;

/
SHOW error
Run Code Online (Sandbox Code Playgroud)

查看PL/SQL的文档我无法找到/解释的内容.

任何人都可以开导我吗?

  • 更新:我在SQL Developer for Mac中打开了包含此脚本的文件.编译它会给出错误"遇到符号'/'".这些斜线应该删除吗?

sql plsql plsqldeveloper

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

PL/SQL Developer的可折叠区域

是否有一些标记或命令会在plsqldeveloper中折叠我的代码区域; 在netBeans for java中,我使用:

<editor-fold desc="description" default-state="collapsed">
Run Code Online (Sandbox Code Playgroud)

如果我的记忆在c#中是正确的:

#region;
Run Code Online (Sandbox Code Playgroud)

oracle plsqldeveloper

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

如何在Oracle 11上检查索引构建状态?

我在SQL索引创建中犯了一个可怕的错误:

create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID)
  tablespace IDX_TABLESPACE LOCAL ;
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我错过了关键字"ONLINE"来创建索引而不会阻止具有600m +记录的高使用率的PRODUCTION表.更正的SQL是:

create index IDX_DATA_TABLE_CUSECO on DATA_TABLE (CUSTOMER_ID, SESSION_ID, CONTACT_ID)
  tablespace IDX_TABLESPACE LOCAL ONLINE;
Run Code Online (Sandbox Code Playgroud)

我是在PL/SQL Developer下完成的.当我试图阻止程序停止响应并崩溃.

生产系统现在不工作9个小时,我的老板想要爆炸.:d

有没有机会看到Oracle 11g离开多少秒/分钟/小时来处理这个索引创建?或者也许有机会看到Oracle仍在处理此请求吗?(PL/SQL Developer崩溃).

仇恨者:我知道我应该像这里提到的那样:( 来源)

CREATE INDEX cust_idx on customer(id) UNUSABLE LOCAL;
ALTER INDEX cust_idx REBUILD parallel 6 NOLOGGING ONLINE;
Run Code Online (Sandbox Code Playgroud)

oracle indexing plsql oracle11g plsqldeveloper

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

PL/SQL关联数组验证索引是否存在

我有这个关联数组3-d

type v_arr_class is table of varchar2(255) index by varchar2(255);
type v_arr_component is table of v_arr_class index by varchar2(255);
type v_arr_property is table of v_arr_component index by varchar2(255);

v_arr_local_rec v_arr_property;
Run Code Online (Sandbox Code Playgroud)

我需要验证索引是否存在

if(v_arr_local_rec('class')('component')('property') exist) then

do this... 

end if
Run Code Online (Sandbox Code Playgroud)

没有太多关于找到的关联数组的信息.

提前致谢.

arrays plsql plsqldeveloper

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

如何从 all_views 获取各个视图的总记录数

如何从 all_views 获取各个视图的总记录数。请找到以下代码以供参考..

Declare
view_name     VARCHAR2(200);
v_str          VARCHAR2 (1000);
v_output     VARCHAR2(4000);

CURSOR tbl IS
     SELECT view_name 
     FROM all_views
     WHERE OWNER = SYS_CONTEXT( 'USERENV', 'CURRENT_SCHEMA')
     ORDER BY 1 ;
BEGIN
OPEN tbl ;
     LOOP
     FETCH tbl INTO view_name;
     EXIT WHEN tbl%NOTFOUND;
          v_str := 'Select '''|| view_name ||'     '' || count (*) from ' || view_name ;
          EXECUTE IMMEDIATE v_str INTO v_output;

          DBMS_OUTPUT.PUT_LINE(v_output);
     END LOOP;
CLOSE tbl;
END;
Run Code Online (Sandbox Code Playgroud)

电流输出:

V_DSP_BUSINESS_DATE            10
V_DSP_DEPARTMENT               20
V_DSP_EMPLOYEE_DEACTIVATED     50
V_DSP_EMPLOYEE_GED             80
Run Code Online (Sandbox Code Playgroud)

预期输出:

sum up the record …
Run Code Online (Sandbox Code Playgroud)

oracle plsql plsqldeveloper

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

oracle中如何退出循环

Declare
var_cnt       number(3):=0;
begin
    loop
        update t_loan_dtl set loan_closure = 'Y' where rownum <10001;
    end loop;
end;
Run Code Online (Sandbox Code Playgroud)

plsql plsqldeveloper

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

标签 统计

plsqldeveloper ×10

plsql ×7

oracle ×5

oracle11g ×3

sql ×2

arrays ×1

blob ×1

indexing ×1

oracle10g ×1