小编Jon*_*ler的帖子

Oracle对象依赖循环

当我尝试在Oracle数据库中编译项目时,我遇到了问题.为了使它更简单,我有三个对象:2个包(UTILS和TYPES)和1个视图(VIEW).

包UTILS使用包TYPES中定义的类型.包TYPES使用VIEW作为其中一种类型的基础.VIEW在其脚本中使用UTILS包中的函数.当我尝试对其中一个对象进行一些更改时,我无法编译,因为一切都处于无效状态.因此创建了某种对象依赖循环.

请帮我解决这个问题.

例如,无论如何编译下面的代码?每个对象在语法上都是正确的,但它们如何一起编译?

create or replace package my_types is
   type type1 is table of number;
   type type2 is table of my_view%rowtype;
end;
/

create or replace package my_utils is
   function get_1 return number;
   procedure do_something(parameter my_types.type2);
end;
/

create or replace package body my_utils is
   function get_1 return number is
   begin
       return 1;
   end;

   procedure do_something(parameter my_types.type2) is
   begin
       null;
   end;
end;
/

create or replace force view my_view as
select * from dual
where 1 = my_utils.get_1();

exec …
Run Code Online (Sandbox Code Playgroud)

oracle oracle11g

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

如何确定Oracle中给定字符串的语言(英文,中文...)?

如何确定Oracle(多语言环境)中给定sting(表列值)的语言(英语,中文...)?

java oracle plsql nlp

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

使用具有超类型属性的类型创建对象表

我正在尝试创建一个oracle-object类型的oracle表.

这是我的对象结构的样子

CREATE OR REPLACE TYPE PERS_T AS OBJECT 
( 

 empno number(4)
, ename varchar2(10)
, job varchar2(9)
, hiredate DATE
, sal number(7,2)
, comm number(7,2)
, deptno number(2)
)NOT FINAL;

CREATE OR REPLACE TYPE EMP_T FORCE UNDER pers_t (
  mgr pers_t
);
Run Code Online (Sandbox Code Playgroud)

所有这些都很好,但当我尝试使用时创建一个EMP_T类型表

CREATE TABLE table_name(emp_type EMP_T);
Run Code Online (Sandbox Code Playgroud)

我收到了错误

SQL Error: ORA-30756: cannot create column or table of type that contains a supertype attribute
Run Code Online (Sandbox Code Playgroud)

在oracle中可以创建这样的表吗?

oracle

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

Ubuntu 16.04:未安装Oracle JDK 9

每次我尝试从终端安装一些东西时,这个消息会弹出给我.同时我安装了我的Java:

download failed   
Oracle JDK 9 is NOT installed.  
dpkg: error processing package oracle-java9-installer (--configure):
 subprocess installed post-installation script returned error exit status 1  
Errors were encountered while processing:  
 oracle-java9-installer  
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)

请有人帮我解决这个问题; 真的很烦人

java ubuntu

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

关于Java中具体化泛型的任何一个词?

我知道这个问题可能会引发更多的讨论,而不是具体的答案(我知道这不是更好).但是最近甲骨文的收购,我想知道是否有任何消息表明Java可能(有一天)会得到具体的仿制药?我听说甲骨文希望给Java带来一些推动力,我认为没有更好的方法.

java generics reification

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

无法使用PL/SQL Developer登录

我使用Pl/SQL Developer登录数据库时遇到问题.所有连接参数都在TNSNAMES.ORA中定义,并与SQL Developer完美配合.

不幸的是,当我尝试使用PL/SQL Developer进行连接时,我收到一条没有内容的消息.我使用的是9.0.6.1665版.

这是一个已知问题,我可能做错了什么?

这是这个奇怪错误的图像:

在此输入图像描述

oracle plsqldeveloper

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

Oracle Java HotSpot VM性能选项的当前状态是什么(+ UseStringCache,+ UseCompressedStrings,+ OptimizeStringConcat)

我正在阅读Java HotSpot VM Options.我见过一些有趣的虚拟机交换机,主要与字符串有关 - 这对我来说非常有价值,因为我的应用程序正在进行一些繁重的字符串操作.那些是:

  • -XX:+UseStringCache
  • -XX:+UseCompressedStrings
  • -XX:+OptimizeStringConcat

我在想 - 这些开关默认是开启的吗?使用它们的真实体验是什么?他们有所作为吗?

java performance jvm jvm-hotspot

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

深度嵌套子查询因子(CTE)的性能下降

此查询包含16个相等的步骤.
每个步骤都在同一个数据集(单行)上进行相同的计算,
但最后的步骤需要花费太多时间.

with t0 as (select 0 as k from dual)
,t1 as (select k from t0 where k >= (select avg(k) from t0))
,t2 as (select k from t1 where k >= (select avg(k) from t1))
,t3 as (select k from t2 where k >= (select avg(k) from t2))
,t4 as (select k from t3 where k >= (select avg(k) from t3))
,t5 as (select k from t4 where k >= (select avg(k) from t4))
,t6 as (select …
Run Code Online (Sandbox Code Playgroud)

sql oracle benchmarking oracle11g

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

pl-sql中的表转换与cast-multiset

有什么用的Table-CASTCAST-Multiset

例子 Table-Cast


SELECT count(1)
INTO   v_Temp
FROM   TABLE(CAST(Pi_Save_Data_List AS Property_data_list))
WHERE  Column_Value LIKE '%Contact';
Run Code Online (Sandbox Code Playgroud)

例子 Cast-Multiset


SELECT e.last_name,
   CAST(MULTISET(SELECT p.project_name
   FROM projects p 
   WHERE p.employee_id = e.employee_id
   ORDER BY p.project_name)
   AS project_table_typ)
FROM emps_short e;
Run Code Online (Sandbox Code Playgroud)

性能增益或对代码的影响是什么?

oracle plsql casting multiset

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

SQLException:oracle中的协议冲突

我收到了"违反协议".我有一个在RedHat Linux上运行的应用程序.数据库和应用程序共同驻留在机器上.

使用的Oracle版本:Oracle 11g R2(11.2.0.3.0)使用的
JDBC驱动程序:12.1.0.1
使用的Java:jdk1.7.0.65 32位

我遇到过很多论坛,其中这个错误被指出是一个驱动程序问题但是在所有那些论坛中使用的oracle版本更高且驱动程序版本更旧并且更改驱动程序解决了问题.但在我的情况下是Oracle版本较低但驱动程序版本较高.因此,在这种情况下,驱动程序的更高版本可能是一个问题?

此外,当达到DB上的最大连接数时,也会出现此协议违规?

错误信息:

java.sql.SQLException:协议违规:[72]位于oracle.jdbc的oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:464)oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192) odriver.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)位于oracle的oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:884)的.driver.T4C8Oall.doOALL(T4C8Oall.java:531). oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289)的oracleStatement.executeMaybeDescribe(OracleStatement.java:1167)oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)at oracle oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1493)中的.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3628)

java oracle jdbc oracle11g ojdbc

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