oracle内联视图

使用内联视图的原因…?内联视图是Oracle SQL中的一种构造,您可以将查询放置在SQL FROM子句中,就像查询是表名一样 内联视图提供 可以在语句中引入Bind变量来限制数据 更好地控制调谐 代码的可见性 使用内联视图有许多不同的原因。有些事情在没有内联视图的情况下无法完成,例如: 1对分析函数的结果进行过滤: select ename from ( select ename, rank() over (order by sal desc) rnk from emp ) where r

Oracle 如何修剪字符串类型的所有表中所有行中的所有列?

在Oracle 10g中,有没有一种方法可以在PL/SQL中执行以下操作 for each table in database for each row in table for each column in row if column is of type 'varchar2' column = trim(column) 谢谢 当然,进行大规模动态更新有潜在的危险和耗时。但下面是生成所需命令的方法。这是针对单个模式的,只需构建命令并输出它们。您可以将它

蟾蜍截断/舍入大量Oracle数字?

我们有一个带有类型为NUMBER(20,7)的“price”字段的表。。在《蟾蜍》中,我这样做: update mytable set price = 1234567890123.1234567; 然后,我选择: select price, to_char(price) from mytable PRICE TO_CHAR(PRICE) 1234567890123.12 "1234567890123.1234567" 问题是,为什么蟾蜍在显示数字(20,7)字

Oracle 整合数据库的缺点?

在一个组织中,有两个应用程序,每个应用程序都有自己的Oracle数据库实例,将这两个数据库合并到一个具有两个模式的数据库中有什么缺点 备份和复制数据库可能更大、更慢。还有什么 一些背景: 这两个数据库是各自数据的“黄金来源”。每个数据库对组织的运行都至关重要,并且每个数据库实际上都由多个应用程序、工具和报告使用(但每个数据库主要由一个应用程序“拥有”)。经常需要跨数据库连接数据,将一个数据库中的实体与另一个数据库中的实体关联起来。因此,存在连接这两个视图和一些跨数据库物化视图的数据库链接,以帮助

Oracle 查询以搜索表和/或列的所有包

是否可以运行查询来搜索所有包,以查看包中是否使用了特定的表和/或列?包太多,无法打开每个包并查找我要查找的值。您可以执行以下操作: select * from user_source where upper(text) like upper('%SOMETEXT%'); 或者,SQL Developer有一个内置的报告,可以在以下位置执行此操作: View > Reports > Data Dictionary Reports > PLSQL > Search Sour

为什么Oracle 10g不抱怨列不明确?

我正在使用Oracle 10g XE 10.2.0.1.0,发现了一个我不理解的行为: 选择* 来自员工经理 在MANAGER.EMPLOYEE\u ID=worker.MANAGER\u ID上加入员工 在departments.manager\u id=108上加入部门 哪里 部门id=100 ; 问题是,我认为Oracle应该抱怨where子句中department_id的模糊性,因为它是表employees和departments中的一列。在Oracle 10g中,事实并非如此,结果表明

Oracle ora-12528:TNS:Listener:所有适当的实例都在阻止新连接

当我尝试连接到数据库时,出现以下错误: ora-12528:TNS:Listener:所有适当的实例都在阻止新连接 我尝试了以下方法,但没有成功: 停止并启动侦听器 关闭和启动数据库 重新启动oracle服务 如何解决此问题?您可能会遇到网络和/或归档日志的问题-当存储归档日志的区域/磁盘已满时,通常会发生上述情况,Oracle会拒绝新的连接 另一种可能性是,您已将允许的连接数设置为最大-这通常应该是一个警告信号,表明您的应用程序可能会泄漏连接 如果您100%确定没有泄漏连接,那么您可以配置Or

Oracle 11gr2未能在hp ux上检查内核参数

我正在64位安腾HP-UX(v 11.31)系统(适用于HP Operation Manager 9)上安装oracle 11gR2。 根据安装要求,我更改了内核参数,但当我开始安装过程时,它无法识别它们 下面是我设置的参数: Parameter ( Manual) (on server) ------------------------------------------------------------- fs_async

Oracle:在dba_调度程序_作业中找不到作业

使用第二个查询我可以找到作业id。但是使用第一个查询它不存在。为什么? select * from dba_scheduler_jobs dj WHERE dj.job_action LIKE '%Power%02%' AND dj.owner = 'SIUETL'; select * FROM dba_jobs dj WHERE dj.what LIKE '%Power%02%' AND dj.log_user = 'SIUETL'; 这是因为DBA_作业使用旧的(不推荐使用的)DB

Oracle APEX:在验证之后但在处理之前调用JavaScript函数

我的任务是在ApplicationExpress(Apex)中重新创建一个旧的PL/SQLWeb工具包前端 我想在页面提交后显示弹出窗口,并在计算和验证后显示弹出窗口 可以通过单击按钮或按enter键提交页面 我在谷歌上搜索到了一个模式弹出窗口(javascript调用),但我似乎不能在正确的位置调用它。我可以在提交时调用它(在验证之前等),但不能在验证之后调用 我已尝试在正确的处理点创建指向URL的分支,然后将URL设置为: javascript:openForm(); 但后来我得到了一个页

oracle完整性约束

这是我第一次使用Oracle 我手动在数据库中插入了一些内容: insert into ATTR_TYPE_VALUE (ATTR_TYPE_ID, VALID_VALUE, CREATED_BY) (select ATTR_TYPE_ID, 'Ad', 2 from ATTR_TYPE where VALUE = 'ind') 我得到了以下错误: 第1行错误:ORA-02291:完整性约束 违反(LO.ATTR_类型_值_FK02)-未找到父项 以下是我在研究中发现的: 对于insert语

Oracle数据库客户端

你能给我推荐一些免费软件吗?它不需要GUI,但必须能够连接到远程数据库,而不需要任何oracle驱动程序。 我知道有SQL Plus或SQL Developer,但是没有注册就不能下载。我想要一些真正免费的东西,在那里我不会被强迫做任何事 平台:Win/Debian 谢谢你事实上,你需要在OTN上创建一个免费帐户,并从Oracle下载一些东西,除非你真的准备牺牲功能(或从信誉不好的来源下载Oracle软件) 不管数据库是什么,您总是需要一些特定于数据库的客户端软件,这些软件能够理解如何与特定数据

Oracle触发器导致无限循环

我的Oracle数据库中有一个students表,其中有一个名为RECORD\u NUMBER的字段。这个字段有8个字符长,我想创建一个触发器,在插入时用0s填充左侧部分。这就是我到目前为止所做的: create or replace TRIGGER STUDENTS_RECORD_NUMBER_TRG BEFORE INSERT OR UPDATE OF RECORD_NUMBER ON TBL_STUDENTS FOR EACH ROW BEGIN WHILE length(:new

Oracle 针对单个JPA查询使用本机查询的Alter会话

我被迫使用某种NLS_语言访问数据库,不想更改user.locale以避免影响应用程序的其余部分。这样做可以吗,还是会引起意想不到的问题 此外,会议的范围有多大?这是否只会影响这个查询,或者使用同一entityManager的每个调用,甚至整个应用程序 @Stateless @Local public class myDAOImpl implements MyDAO{ @PersistenceContext(unitName = "MyUnit" ) protected Ent

Can';无法使用Oracle序列获得工作日食动态度

我试图用EclipseLink 2.3来保持动态实体。若我并没有配置序列,只是给字段分配一个值,它就会工作。另外,若不设置值,则序列将与数据库中的触发器一起工作。但我想得到字段的生成id(序列的下一个值) 有一个简单的表,有两列RD_ID和RD_NAME,我假设我应该对Oracle序列使用NativeSequence ... Sequence seq = new NativeSequence("RD_SEQ", 1); dynamicTypeBuilder.configureSequencing

Oracle 如何在PL/SQL中查看变量的类型?

PL/SQL中是否有一个函数可以显示变量的确切类型,比如SQL中的DUMP函数 我试过以下方法 DECLARE l_variable INTEGER := 1; BEGIN DBMS_OUTPUT.PUT_LINE (DUMP (l_variable)); END; 但它给出了以下错误: PLS-00204:函数或伪列“DUMP”可在SQL中使用 仅声明 您可以使用创建此函数。但是它不适用于匿名块,您需要将变量作为字符串引用 create or replace function

从asp在Oracle中插入时间戳(不是有效月份)

用于ODBC驱动程序的Microsoft OLE DB提供程序错误“80004005” [Oracle][ODBC][Ora]Ora-01843:不是有效月份 我从classic asp获取的日期为“Now()”,请参见以下内容: update users Set USER_ACCOUNT_DIS = to_timestamp('6/18/2013 1:41:05 PM','YYYY-MM-DD HH24:MI:SS') Where user_id='mytestuser' to_timest

Oracle JDBC连接到错误的用户

我正在使用hibernate(3.6.9.Final)和Oracle11g数据库与jdbc(ojdbc6:oracle.jdbc.OracleDriver) 我的连接字符串是jdbc:oracle:thin:@SERVERNAME:1521:ORCL 数据源:com.mchange.v2.c3p0.ComboPooledDataSource 国际奥委会:春季3.0.7.0发布 服务器:Tomcat6 我的问题描述如下: 我在oracle服务器中定义了两个模式(用户) 我的SC和我的旧SC, MY

使用Oracle Forms(4.5)键提交表单触发哪个触发器,其代码在哪里?

使用什么工具查看关键触发器?它是用于Windows的Oracle终端吗 do_key('commit_form')触发哪个触发器,在哪里触发 (我们没有所有的工具,我们想要转换,数据库在这一点上甚至没有恢复),但我被指派去解决它。:) 我们甚至没有.res(资源)文件,我猜这是用来将表单字段映射到数据库列的?do_key('commit_form')将触发KEY-COMMIT触发器(如果有)。如果没有,它将只执行该触发器的默认操作,即提交 任何关键触发器都会在表单本身中,很可能在表单级别,您可以

自动设置Oracle';s序列起始值

我有许多现有的表,每个表都有一个名为“id”的列。此列的整数值从1开始。例如,表MY_表包含ID为1、2和3的3条记录(super basic) 我想为我拥有的每个表创建一个序列,并用表的maximun id设置其起始值。在我的例子中,我需要这样的东西: CREATE SEQUENCE MY_TABLE_SEQ START WITH 3 INCREMENT BY 1; 我试过这样的方法,但没用: CREATE SEQUENCE MY_TABLE_SEQ START WITH (SELECT N

Oracle select查询创建具有硬编码值的伪列

我有这些记录,我想创建一个oracle select查询,以生成值为1,2,3的伪列。请帮忙,谢谢 field1 one two three four five six seven eight 基本上,我只想添加值为1到3的伪列。一旦它达到3,它又回到1 field1 dummycol one 1 two 2 three 3 four 1 five 2 six 3 seven 1 eight 2 这里使用

Oracle ORA 06533:下标超出计数范围

我在下面创建了一个简单的块,但是 ORA 06533:下标超出计数范围 错误 有人能告诉我我在下面的代码中遗漏了什么吗 declare type salaryvarray is varray(6) of customers.salary%type; salary_array salaryvarray:=salaryvarray(); c_salary customers.salary%type; i integer(2); counter number(2); begin

Oracle PL SQL插入索引

我需要在表中插入500.000条记录,因此该过程需要一段时间。我读过一些关于提高查询速度的索引的文章,但接下来的问题是:为了使插入速度更快,我应该在哪个参数上设置索引?(身份证?)。 谢谢 编辑 CREATE OR REPLACE PROCEDURE addNewUser( firstName IN VARCHAR2, lastName IN VARCHAR2,

在Oracle中按顺序插入多行

这是我用于在oracle数据库中插入多行的查询。但当我在其中使用序列时,它会引发错误ORA-00001:唯一约束。怎么做 INSERT ALL INTO POSTAL_CODE( postal_code,desc) VALUES(postal_code.NEXTVAL,'Coimbatore') INTO POSTAL_CODE (postal_code,desc) VALUES(postal_code.NEXTVAL,'Mumbai') SELECT * FROM DU

Oracle 使用UniDAC for Delphi时发生OCI错误

当尝试使用Delphi XE2、Oracle 11和UniDAC驱动程序设置到Oracle DB的连接时,我遇到一个错误: Can't initialize OCI : Error -1 我可以使用ODBC连接到服务器 我没有使用直接连接 模式 如果我尝试使用直接连接模式,我会遇到另一个错误 Unknown host [server name] Socket error code : 11004($2AFC) 我不是 使用蟾蜍,我无法控制服务器本身。您好,谢谢您的回答 我已经在PATH变量中

用于Oracle Spatial的Hibernate 5 HQL转换器

我正在将一个应用程序从Hibernate 3.6.10.Final升级到5.0.7.Final 我现在面临的主要问题是,什么时候Oracle方言会生成这样一个足够快的查询: SELECT * FROM MY_TABLE WHERE SDO_RELATE(geom,SDO_GEOMETRY(?,4326),'mask=INSIDE+COVEREDBY') ='TRUE' 现在它将产生非常缓慢的结果: SELECT * FROM MY_TABLE WHERE MDSYS.OGC_WITHIN(

Oracle 子查询中带多个条件的用例

1) 想要与主键或\u LOG.LOG\u ID关联的所有记录,其中或\u LOG.LOC\u ID=4060020 2) 如果列出的ID是在脚本中列出的时间之间给出的,则希望列输出“是”或“否”。真的,我想包括4种药物,如果其中任何一种给药,我会选择“是”或“否” 3) 在我添加两个时间限制之前,我能够将其应用到某种工作中,除了它似乎只显示包含正在服用的药物的行。我以为左派会解决这个问题。当我添加两个“和”时间语句时,我得到了一个“无效字符”错误 4) 我将使用不同的时间框架和不同的ID运行更

在Oracle中查找两个字段之间的当前时间

我的情况是,我需要在每天23:00到第二天01:00之间提出一个事件。 我的表格有一个日期数据,如下所示: Start date | EndDate 31-05-2016 23:00:00 | 01-06-2016 01:00:00 数据库已经是这样设计的,应用程序也在运行。现在,我尝试使用BETWEEN语句获取数据,但是,由于结束日期是第二天早上,所以没有任何效果 有人能告诉我如何正确提取这些数据吗 我的ORACLE查询 SELECT COUNT(*) INTO P_OU

Oracle 从IF语句中的PL/SQL函数返回多个值

Hi–我试图让我的函数返回select语句中的所有8个值。根据我在SO上的发现,尝试了几个变体,但只能返回一个值,而不是全部8个值。PL/SQL和SO上的第一篇文章都是新手——我在MSSQL中运行了相同的版本,但在PL/SQL中却完全不同。谢谢你的帮助 尝试1–仅返回第一个值 尝试2–仅返回最后一个值 返回光标: create or replace FUNCTION SP_SETGRIPSTAGE ( gripNoIn NUMBER, docNoIn NUMBER ) RETURN SY

HSQLDB中(订单号…)上方的Oracles行号()

我正在从事的项目有一个Oracle 11数据库,它的访问方式如下 SELECT * FROM ( SELECT row_number() over (ORDER BY acme_dept.LOG_TABLE.LOG_TIME ASC) rn, acme_dept.LOG_TABLE.LOG_TIME, acme_dept.LOG_TABLE.LOG_LEVEL, acme_dept.LOG_TABLE.MESSAGE,

在oracle中将数字列值更新为000

我正在尝试更新列值。列数据类型为Number。根据要求,对于正确的记录,此栏将更新为000。我已经在条件的Else部分包含了这一点,但是当表被更新时,它只需要0而不是000。请建议。我怎样才能把它变成1000 MERGE INTO mem_src_extn t USING ( SELECT mse.rowid row_id, CASE WHEN mse.type_value IS NULL OR mse."TYPE" IS NULL OR mse.VALUE_1 IS NULL

Oracle 包体中的全局变量如何为多个用户工作

我编写了一个程序,其中SQL查询和查询ID保存在一个表中。用户将选择查询ID,程序将生成其输出到指定的UNIX目录。 现在我从表中取出查询后,将其保存在包体的全局变量中。 我担心的是,当多个用户同时运行程序时,我的全局变量(存储SQL查询)是否会相应地更新 例如: create or replace package test is global_sql varchar2(40000); procedure get_sql(p_sql_id number

schemacrawler未返回所有Oracle表-需要哪些权限?

使用schemacrawler并尝试连接到Oracle数据库。生成的json文件只包含大约10个表,但我们希望数据库中的表数量要多得多 这必须受到用于访问Oracle数据库的用户权限的限制,但该用户需要哪些权限才能“查看”表/列?假设schemacrawler使用数据字典。因此,用户将被限制在“所有”选项卡“列”视图中可见的表和列,即他们至少有选择权限的表 否则,用户需要在DBA_TAB_COLS上选择,它显示所有模式中的所有表。这需要DBA访问grant。可能schemacrawler使用数据

在shell脚本中格式化Oracle查询

我正在使用sqlplus从一个shell脚本连接到一个Oracle db,其格式变得混乱,如下所示: JOBNAME -------------------------------------------------------------------------------- AVGRUNTIME SYSTIM AVGRUNTIMEFORMAT SYSTIMEFORMAT ------------ ------ -------------------- --------------

在oracle中选择后更新行

我在一个表中有一个查询,然后选择,我需要更新同一个表中的一列 桌子 CREATE TABLE CLIENTE ( RUT VARCHAR2(14), FONO1 VARCHAR(20), FONO2 VARCHAR(20), FONO3 VARCHAR(20), FONO4 VARCHAR(20), FONO5 VARCHAR(20), FONO6 VARCHAR(20), FLAG

Oracle 选择plsql中具有正数和负数的onle组

我有一个表,其中包含日期分组。 我只需要选择内部有正值和负值的组。 例如: id value1 2 7 2 8 2 -1 3 3 3 4 4 -1 4 -2 5 7 5 -5 结果应该是 id value1 2 7 2 8 2 -1 5 7 5 -5 因为id为3的组只有正数,id为4的组只有负数 当在函数中使用select或using if else时,我该如何使用case来实现呢。或任何其他想法?如果按ID分组,则可以使用聚合函数MIN和MAX来确定是否同

如何在oracle中找到工作

我需要帮助。 这是我的工作: begin dbms_scheduler.create_job( job_name => 'test_job21', job_type => 'STORED_PROCEDURE', job_action => 'job_test', start_date => to_timestamp_tz('2018-04-18 18:09:00', 'yyyy-mm-dd hh24:mi:s

所有数字的Oracle APEX格式掩码

如何在Oracle APEX中为社会安全号码和电话号码定义格式掩码 我知道如何在PLSQL中实现这一点,但在APEX中,我们只得到了“格式化掩码”框,它似乎只想格式化日期和货币。我想将我的号码格式化为999-99-9999或999-999-9999 提前谢谢。我想你不能用TO\u CHAR这样格式化数字。老实说,我不确定这些真的应该是数字。在我的书中,它们实际上是更多的数字字符串。您可能希望创建一个自定义函数,并在格式化部分使用它。或者,您可以使用HTML表达式功能以所需格式显示字段。但不能在单

TNS协议适配器错误Oracle 12c

我在Win10上使用Oracle 12c。启动SQL Plus并尝试登录时(我使用的是虚拟帐户),会显示一个错误: ORA-12560: TNS protocol adapter error 我已经检查了这些服务,甚至没有一个Oracle服务在列表中。有什么方法可以安装/激活它们吗?有多种原因可以导致这种情况。可能包括问题中的lsnrctl status输出,以及DB的local\u listener参数值,无论您的主机文件是否包含localhost的条目(取决于前两个)或者任一解析引用的主机

Oracle 从管道函数返回对象中删除

我有一个管道函数,如下所示。如果我想从获取的输出中删除一些行,我应该怎么做 我在下面的代码中尝试了结束循环后的myObjectFormat.delete。 但它不起作用。 请让我知道我做错了什么 CREATE OR REPLACE TYPE myObjectFormat AS OBJECT ( A INT, B DATE, C VARCHAR2 (25) ) / CREATE OR REPLACE TYPE myTableType AS TABLE OF myObjec

Oracle PL/SQL触发器赢得';跑不动

我有一个在Weblogic服务器上运行的Oracle Forms 11 g应用程序。默认的表单/登录页面有几个PL/SQL触发器,它们根本不会触发。其余的配置似乎成功了 谁能告诉我从哪里开始找??提前感谢。顾名思义,当有什么东西触发他们时,他们就会触发火灾。比如说, 按下按钮时,触发器通过按下按钮触发 在数据块中执行查询后,将触发POST-QUERY触发器 运行表单时触发WHEN-NEW-FORM-INSTANCE触发器 等等 因此,请确保触发器确实被触发。事实上,你有他们并不意味着他们会跑

Oracle 在RDLC和Visual Studio 2012的查询生成器中使用ROWNUM伪列

在VisualStudio2012的rdlc报告中,我不能在查询生成器中使用伪列,因为它会在每个字段中加引号 Oracle DB使用类似伪列的字段,例如:ROWNUM来获取行数,因此,我需要限制查询中的行数,然后在Oracle中我可以使用ROWNUM如果您使用Oracle 12,它支持前n个查询: 如果使用Oracle 10或11,可以使用分析行数函数来避免ROWNUM,但必须对结果进行排序。这是绕不开的。您可以通过内部查询完成此操作 SELECT * FROM ( SELECT F

Oracle apex交互式网格选择列表

我在apex oracle中使用交互式网格,所以我必须将两列链接在一起,这是一个选定列表,我尝试使用第一列中的值来获取第二列中的任何相关值 经验:- -汽车类别 ID name 1 BMW 2 HONDA -汽车清单 ID CAR_CAT NAME 1 1 X5 2 1 X6 3 2 CIVIC 我需要在第一列中选择BMW时,显示的数据是第二列

ORACLE APEX-数据库反馈

是否有任何机制可以从数据库初始化在站点上执行某些操作(例如动态操作) 我希望数据库发送到APEX页面,例如“刷新区域”。其机制是什么 我使用的是Apex 19.2Apex应用程序(以及一般的web应用程序)通常是无状态的,因此它们没有针对特定用户/应用程序会话的到DB的持久连接。几个APEX对象允许在页面内定期刷新,或者允许您根据用户在该页面上在该会话中所做的操作强制刷新区域(即,我单击了按钮,现在需要刷新该区域)。它们不允许您根据另一个会话中的其他用户所做的事情刷新区域,因为这些其他会话或用户

连接到Oracle XE Docker容器

从主机系统通过Telnet或SQLPLUS访问Oracle XE数据库Docker容器(版本2.3.0.4)时遇到问题: 这是我的Oracle XE和容器配置: docker port 54cb9336d8c3 1521/tcp -> 127.0.0.1:1521 cat /opt/oracle/product/18c/dbhomeXE/network/admin/listener.ora DEFAULT_SERVICE_LISTENER = XE LISTENER = (DESC

Oracle saveAll()的JTA事务意外回滚

在SpringBoot中,当它试图将20K记录的all()保存到oracle数据库时,会给出错误消息。为什么会这样?暂停?但今天才开始。这不是在罪前给予 Message : JTA transaction unexpectedly rolled back (maybe due to a timeout); nested exception is javax.transaction.RollbackException: ARJUNA016053: Could not commit transact

Oracle 表单和报表在同一页面上(表单作为所选报表页面的详细信息)

我现在正在将我的小企业应用程序从ms access移动到Oracle Apex 20 我需要的是一个共享报告的页面,在该页面中我将选择一行,其中记录和表单元素位于页面顶部,显示记录的详细信息 有人能给我一个如何开始的建议吗?我尝试创建一个空白页面并手动插入报表和表单元素,但出现错误没有为表单区域rep7定义主键项 我怀疑我需要用主键连接表单和报表,但不知道如何连接。我最近一次解决我的问题是看这个: 但我不能完全理解它 多谢各位 Jakub按照您描述的方式,它是一个类型为主细节的页面。只需按照向

  1    2   3   4   5   6  ... 下一页 最后一页 共 333 页