设置Oracle文本以索引Oracle表中多列的值

我有一组Oracle表,这些表描述了有关财产所有者的信息。对于每个所有者,所有者名称和其他文本值存储在多个相关表的多个字段中。我想索引这些字段的内容。我的目标是提供一个单一字段,用户可以在其中输入关键字来定位所有者 如何设置Oracle文本以实现此目的?您只需要创建一个多数据存储首选项,并将其作为参数传递给索引 begin ctx_ddl.create_preference('my_multi', 'MULTI_COLUMN_DATASTORE'); ctx_ddl.set_attribute(

Oracle企业管理器java.lang.Exception

在使用Database Configuration Assistant创建数据库之后,我转到Enterprise Manager,登录到它,它告诉我,java.lang.Exception:sending Request中的Exception::null。此数据库的OracleDBConsole和iSQLPlus服务已启动。当我运行%ORACLE\u HOME%\bin\emctl status dbconsole时,它会说,EM守护进程没有运行。我该怎么处理?如何启动EM守护进程 试试这个命令

Oracle 以可以';不要被颠覆

我们有一个web应用程序(Grails),我们将根据用户数量为其出售许可证。数据库(Oracle 10g)中有一个表,用于保存用户。客户将拥有自己的软件和数据库副本。有人能提出一些策略来限制用户表中允许存在的记录的数量吗?这种方式不能被客户合理地破坏?谢谢。这将取决于您对“合理”的定义。如果他们托管数据库,他们总是能够允许更多的行 最简单的解决方案是AFTER语句触发器,该触发器计算行数,如果插入的行太多,则引发异常。当然,他们可以放下或禁用触发器。另一方面,应用程序还可以查询数据字典,以验证

Oracle SQL将列数重置为默认值

我想编写一个SQL,将表中的所有列重置回默认值,除了几个列(如主键) 我只想命名不更新的列,并重置所有其他内容。桌子上有很多柱子,我不想写什么: update my_table set column1 = DEFAULT, column2 = DEFAULT, ... where ... 对于所有的哥伦布,因为有很多 有什么想法吗?我使用的是Oracle,我不认为有一个过程可以满足您的需要,但是如果您唯一的问题是编写SQL的繁重负担,那么您可以使用“所有”选项卡“列”视图自动完成。您可以根

为什么我的新用户可以在oracle中以sysdba身份登录?

我刚刚在Windows7机器上安装了Oracle11gR2。我可以使用sys作为sysdba帐户登录 使用sys帐户,我创建了一个用户,如下所示 create user testuser identified by testuser; 当我试图用testuser作为普通用户连接到数据库时,它说“用户testuser缺乏创建会话权限;“登录被拒绝”,这是可以理解的,因为到目前为止我还没有授予testuser任何权限 但当我尝试使用testuser作为sysdba登录到数据库时,它允许我连接到数据

Oracle ORA-01036中的Delphi7主明细关系查询结果

我使用的是Delphi7,Devart的dbExpress驱动程序4.70 我删除了两个tsqltable(称它们为A和B),两个tdatasetprovider(dspA和dspB),两个tclientdataset(cdsA和cdsB),两个TDataSources(dsA和dsB)和两个dbgridgrids(gridA)。一切都准备好了。如果我将cdsA.Active设置为true,我可以在gridA中看到数据。每个cdsB都是相同的 现在我想实现这个关系 A JOIN B ON a =

在Oracle 10g中查找错误的日期时间戳

我正在处理Oracle 10g数据库中的一些数据,特别是批量更新和读取时间戳信息。由于业务需要,我不得不将MM/DD/yyyyy HH24:MI:SS格式转换为YYYY-MM-DD HH24:MI:SS格式。此外,由于业务需求,时间戳存储为VARCHAR,而不是本机日期时间 不幸的是,现在我在数据上运行select操作时遇到了问题 具体来说,当我运行以下select时,我收到ORA-01861:Literal与格式字符串不匹配: SELECT datetime_stamp from ent

Oracle 从许多字段中删除小数点

需要从列varchar2数据类型内的字段中删除点。小数点并不总是在那里,但当它在那里时,它总是在第五位,后面总是有两个零。 12E4.00我们需要保留零 似乎使用REGEXP_REPLACE是合理的,但不知道是否也有一种纯sql的方法来完成它。在100000行和28000个嵌入小数的字段实例下 感谢所有的帮助。听起来你只是需要一个简单的替代品 您需要将其转换为针对表的UPDATE语句 UPDATE some_table SET some_column = REPLACE( some_col

Sybase的电源传输?-正在尝试将数据从Oracle移动到Sybase

我需要将数据从Oracle移动到Sybase。我已经成功地移动了模式,但为了移动数据,Sybase上的一份白皮书指出要使用Power Transfer tool,但是我无法在Sybase站点上找到它。白皮书在2000年有点旧,在2006年有第二份,所以我想知道Sybase是否更改了Power Transfer的名称,或者将其与其他软件合并?有人知道吗 白皮书连结 http://www.sybase.com/content/1047976/MSSQL-ASE-Guide-111006-wp.pd

如何在Oracle.sql.ARRAY类型中避免此死锁?

在运行多个试图写入数据库的Java EE MDB实例时,我们遇到了以下死锁情况: [deadlocked thread] [ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)': Thread '[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'' is waiting to acquire

Oracle 绑定@NumberFormat,是否将逗号设置为十进制分隔符?

我的问题是,我从db中读取数字(BigDecimal),并使用点作为小数分隔符查看它们,但我希望使用逗号查看它们。我使用了以下代码: @NumberFormat(style=style.NUMBER,pattern=“# 私有大十进制数 我的应用程序具有以下体系结构: oracledb-hibernate-springmvc 我需要自动转换,而不需要手动转换为十进制格式的字符串。BigDecimal就是BigDecimal。它没有任何内在的格式 而且,它肯定不是像Hibernate这样的ORM的

Oracle 如何检查异常块是否可用于主PLSQL块或例程

我试图考虑一个验证器,它检查PL/SQL块中的异常块或主体的任何例程(以粗体突出显示) 例如: 这是一个简单的例子,可以有许多其他场景,但我需要id来找到异常块对于PL/SQL代码的主块是可用的 如果你有任何建议,请告诉我。 谢谢如果您使用的是Unix设备并且有GNU awk,您可以尝试以下方法: $ awk '/Procedure/ || p==1{if (/END/)p=0;else p=1;next}/BEGIN/{f++;next}/END/{f--;next}/EXCEPTION/ &

以编程方式向Oracle表中添加列

我正在尝试做一些非常简单的事情。。。让我举一个例子。 假设我有一个包含多个列的表,让我们将其中一列称为“u”。此列只有3个不同的值,即。0、1和2。 我想创建三个附加列u_0、u_1和u_2,如下所示: If u = 0, then u_0 = 1, u_1 = 0 and u_2 = 0 If u = 1, then u_0 = 0, u_1 = 1 and u_2 = 0 If u = 2, then u_0 = 0, u_1 = 0 and u_2 = 1 这只是一个例子。有几个像u这样

Oracle 如何通过mview名称获取刷新作业id?

我正在使用类似 从DBA\u作业中选择作业,其中类似于“%NAME\u OF\u MVIEW%” 获取刷新作业的id,该作业以mv的名称刷新物化视图。 (WHAT的内容是dbms\u refresh.refresh(“'SCHEMA\u USER”“NAME\u of \u MVIEW”)) 我想知道是否有一个表或视图同时包含作业id和mv名称,以便我可以使用 选择作业。。。其中WHATEVER='NAME\u OF\u MVIEW. 或者以任何更好的方式获取刷新作业id。 谢谢。您可以运行以

Oracle 将concat值更新为单个列

我想将concat值更新为一列。请帮我更新这个 update tbl_data1 set FLD_REMARKS= (select i.fld_id||':'||i.fld_calc_id||':'||0||':'||0 from tbl_cust_order p, tbl_cust_bill i where i.fld_item_id=p.fld_id and p.fld_item_id=110

Oracle sql developer中的时间戳数据类型

在SQL Developer中,我有一个字段,它的类型是timestamp(6) 当我尝试在该字段中插入如下数据时:2013-07-10 12:22:22,SQL Developer显示错误:不是有效月份 我在sql developer中有以下设置: 你能告诉我为什么会发生这个错误吗?因为你的NLS\u TIMESTAMP\u格式有一个错误;您有两次MM元素。应该是: YYYY-MM-DD HH24:MI:SS 如果仅对小时元素使用HH,则无法区分上午和下午时间HH24将为您提供凌晨1点的0

Oracle 强制转换的pl sql集合中的ROWID

pl sql集合中是否有类似rowid的工具?在我的例子中,当我在sql查询中使用这个集合时,我还需要序列号。我知道修改是数据结构的一种方式,但我想使用集合的索引。所以我要找的是这样的东西: TYPE t_List IS TABLE OF VARCHAR2(200); 及 循环不应按顺序执行,但我需要类似于集合索引的ROWID之类的内置内容。如果索引很重要,请使用关联数组(也称为表索引) 请参阅。SQl语句中只能使用架构级别的类型,即使在PL/SQl块中也是如此。正如您已经知道的,您可以创建自

Oracle 如何(在代码中)在不正确的表名上断开与SQL连接的连接?

场景: 我有一个通过sqlplus调用.sql文件的批处理脚本。.sql文件如下所示: set serveroutput on variable out_val varchar2; exec &1; print out_val exit 问题: 批处理脚本传递一个字符串,在该字符串上执行.sql。我希望这个字符串在99%的时间内都是正确的,但我需要为最后1%做计划,因为批处理将每5分钟调用一次。当.sql被传递了正确的登录信息和架构,但表名不正确时,我的批处理将挂起并且不会自动关闭。相

Oracle 获取表中的前100条记录

我有一个巨大的数据库,其中有数百万行,查询中包含多个表。我想测试我的查询,以便知道我的查询是否正常工作 如果我运行我的查询,那么给出查询的输出将需要几个小时,在阅读了oracle中关于Rownum的内容后,我尝试了这一点,但Rownum只在查询执行后执行 是否有任何快速的方法来测试我的查询,以便我可以显示前100行 select p.attr_value product, m.attr_value model, u.attr_value usage, l.attr_value location

创建返回数据的Oracle存储过程

在Firebird中,您可以创建一个存储过程,该过程返回数据,并像传递参数的表一样调用它: create or alter procedure SEL_MAS_IVA ( PCANTIDAD double precision) returns ( CANTIDAD_CONIVA double precision) as begin CANTIDAD_CONIVA = pCANTIDAD*(1.16); suspend; end select * from SEL_MAS_I

如何获取Oracle DB Server的IPv4地址

如何获取Oracle DB服务器的IPv4地址?我可以使用SQL plus并使用以下命令:SELECT UTL\u INADDR.get\u host\u address from dual 但是,这会返回一个IPv6地址,我需要IPv4 我还尝试了从dual中选择SYS\u CONTEXT('USERENV','IP\u ADDRESS')ipaddr 它实际上没有返回任何东西,这能说明什么具体的情况吗 任何帮助都将不胜感激,谢谢 为什么需要IP地址?其中可能有“许多”。例如,一个接口只能用于

Oracle ORA-00904嵌套选择的标识符无效

我被这个错误困扰了两个小时 我使用嵌套选择来获取第一个值 select tbl.table_name, (select distinct(FirstItem) from (select first_value(column_name) over (order by timestamp asc rows unbounded predecing) as FirstItem from log_table_b l

计算Oracle SQL中两个日期/时间之间的差异

我的表格如下: Filename - varchar Creation Date - Date format dd/mm/yyyy hh24:mi:ss Oldest cdr date - Date format dd/mm/yyyy hh24:mi:ss 如何计算Oracle SQL中两个日期之间的小时、分钟和秒(可能还有天)差异 谢谢您可以在Oracle中删除日期。这将在几天内给你带来差异。乘以24得到小时数,依此类推 SQL> select oldest - creation fr

Oracle 甲骨文数字到时间

我正在编写一些ETL,以便从旧的Oracle数据库中获取数据,并将其输入SQL Server数据库,以用于分析服务等 旧版oracle数据库将多个时间列存储为数字(4,2) 是否有任何内置函数可以将其转换为时间数据类型?以前有人见过这个吗?你是怎么解决的 谢谢EDIT2:根据MT0更正了查询。当您将:置于两者之间而不是时,这也将考虑场景 with tbl as( select 9 as tf from dual union all select 1

Oracle +ASM的spfile在哪里?

我找不到ASM实例的spfile 显示参数spfile不返回任何值 $ORACLE_HOME/dbs不包含任何SPF文件 asmcmd甚至不显示目录/DATA/+ASM 从spfile创建pfile返回错误ORA-01565:标识文件状态时出错 我能够停止/启动+ASM实例。其他数据库使用ASM,所以一切似乎都正常,除了。。。。。没有SPF文件: 最有趣的是缺少directory/DATA/+ASM。我敢肯定是几天前的事 这部电影向你展示了什么?如果没有+?ASMCMD>spget+DATA/A

Oracle到HBase数据传输工具?

需要在Oracle(真相来源)和HBase之间持续同步数据,并想知道是否有任何现有解决方案 提前感谢,, Lin您可以查看一种在Apache Hadoop和关系数据库(如MySQL或Oracle)之间高效传输批量数据的工具。它支持

从日期到日期的Oracle命令

这是我的桌子,我完全迷路了: Command noCommand date numberClient 1 01/06/2000 10 3 02/06/2000 10 Details noLivre noCommand 100 1 100 1 101 1 100 3 103 1 Delivered noLivre Date 100

Oracle 按功能分组,带有特殊

我有一张桌子 dated abc def gh jkl 01.05.2016 2 12 23 16 02.05.2016 11 7 5 8 03.05.2016 6 4 9 1 从这个表中,我想创建一个表作为 dated abc def gh jkl 01.05.

oracle中带case的触发器

我在oracle中创建触发器时遇到问题,我有一个表“Tickets”,其中有字段“Price”和“Type”。我想做一个触发器,根据票的类型(正常/降低)增加价格 我正在使用案例,但它根本不起作用。这是我的密码: CREATE OR REPLACE TRIGGER TYPE_BIR BEFORE INSERT ON Tickets FOR EACH ROW BEGIN CASE WHEN type = "normal" THEN :new.price := "15"

具有替换功能的Oracle唯一约束

我不确定这是否可行,但我想问问社区 我有一个列,其中包含用户上传到我的站点的文件名。我想创建一个唯一的约束,它将删除文件名列中的所有空格,这样即使用户犯了错误并添加了额外的空间,约束也会抛出错误 我曾想过在我的表中创建一个新列,并在插入文件名时删除所有空格,但我想看看这是否可以立即完成 我认为性能将受到重大影响,如果是这样,我将在表中创建新列。是否有更好的方法来检查文件名是否在我的表中,并且在某种程度上包含了用户捕获重复文件时所犯的一些简单错误?您可以创建一个唯一的基于函数的索引。以下是一个例子

如何解决Oracle DB触发器错误?

我编写了一个DB触发器来监视插入操作。插入新记录后,我想自动将CREATION\u DATE设置为sysdate 我想插入新记录时出错: 错误 ORA-04091:表格报告正在变异,触发器/函数可能不存在 看到了吗 ORA-06512:在“创建日期测试”第2行 ORA-04088:执行触发器“创建日期测试”时出错 我的代码: CREATE OR REPLACE TRIGGER creation_date_test AFTER INSERT ON REPORT FOR EACH ROW

Oracle PL/SQL-拆分循环以加载坏数据

1-以上代码将所有行插入错误表中,而不管行的好坏。我想拆分代码,将好数据放在目标中,将坏数据放在错误中?有什么需要帮忙的吗 当我分割循环时,对FOR循环的引用不在那里 样本数据 declare cursor c_data is select * from test_product_u; error_row varchar2(4000); v_errormsg varchar2(200); begin for i in c_data loop

Oracle 指称完整性与翻译 描述

您好,我正在看一个遗留数据库,它包含现有表的多个转换表 因此有一个定律表,但也有一个翻译定律表: Laws (law_id, inForceDate, type, etc) Translation_Laws (law_id, lang_code, translation) 还有一个law\u type表: Laws (law_id, inForceDate, type, etc) Translation_Laws (law_id, lang_code, translation) Law\u

Oracle ORA-12560:TNS:协议适配器错误

我已经安装了oracle客户端winx64_12102_客户端并配置了tnsnames.ora。当我尝试使用connect with sqlplus/nolog登录,然后使用connect时,请输入用户名和密码。 这给了我错误 ORA-12560: TNS: protocol adapter error. 我已经通过许多论坛,并已设置甲骨文主页,路径和TNS_管理,但我仍然得到错误 在Oracle net configuration assistant中测试是否能够连接到数据库时。测试成功,但

Oracle 是否可以连接LISTAGG列?

是否可以在两个不同的列上预成型LISTAGG,并在oracle中对其进行合并 例如: Select a, LISTAGG(b, ' , ') WITHIN GROUP(ORDER BY a) || ' ' || LISTAGG(c, ' , ') WITHIN GROUP(ORDER BY a) FROM table GROUP BY a 尝试时发生了什么?函数参数列表中出现错误:“无法识别组”。函数参数列表中出现错误:“)”无法识别。函数参数列表中出错:“|”无法识别。函数参数列表中出现错

在oracle中添加检查约束时调用用户定义函数时出错

我想添加一个检查约束,以确保任何人都不能在家庭表中输入多个配偶。我正在尝试使用自定义函数来实现相同的功能。我在做这样的事情: ALTER TABLE PMT_TRN_FAMILY ADD CONSTRAINT CK_SPOUSE CHECK (GETSPOUSE(M_CODE) = 'True'); create UNIQUE index only_one_spouse_fbi on PMT_TRN_FAMILY (M_CODE , case when RE

Oracle 在表的列中从PDT转换为GMT或从PST转换为基于GMT的日期时间

我一直忙于从我的一个数据库列中查找和转换日期。我使用的数据库是Oracle “我的数据库”列将数据保存在PST或PDT中,具体取决于一年中完成输入的时间 例如,在美国,当地时间在3月的第二个星期日从太平洋标准时间(PST)变为太平洋标准时间(PDT),在11月的第一个星期日从太平洋标准时间(LST)02:00变为太平洋标准时间(LDT) 因此,在我的目标中,我有一个额外的列,它将以GMT格式存储日期 因此,请帮助我处理这种情况,并将结果从源存储到目标 源表: Request_ID, Reques

Oracle 合并中的JPA错误:仅插入时密码过期错误

我们使用entitymanager合并方法来更新(如果存在)或插入(如果不存在)某个表中的记录。如果是更新,则不会出现错误,但如果是插入,则会从日志中看到以下错误: 原因:java.sql.SQLException:ORA-28001:密码已过期\n DSRA0010E:sql State=99999,错误代码=28001\n\t oracle.jdbc.driver.t4cttiore.processError(t4cttiore.java:450)\n\t oracle.jdbc.drive

Oracle 我不知道如何创建日志触发器

我需要为更新后、插入后和删除前创建日志触发器 在accounts_history表中,我的行数比accounts表中的多,这让我感到困惑 如何编写触发器 我试着这么做,但没有成功,我就是这样创建表和序列的 我是Oracle和plsql的初学者 如果我没有很好地解释我的问题,我很抱歉 create table accounts ( id number, name varchar2(32), amount number, date date ); create sequnce ac

Oracle-仅选择包含数据的列

我们有一个由第三方建立的包含大量表和列的数据库 其中许多列完全没有使用。我试图创建一个查询,返回实际使用的所有列的列表(包含>0个值) 我目前的尝试- SELECT table_name, column_name FROM ALL_TAB_COLUMNS WHERE OWNER = 'XUSER' AND num_nulls < 1 ; 选择表名、列名 从所有_选项卡_列 其中所有者='XUSER' 和num_nulls

Oracle SQLPlus的登录ID/密码

我想使用SQLPlus,但它要求我输入登录id和密码 我使用这个链接安装了它,它没有要求我设置登录id/密码 默认登录id/密码是什么?您安装了一个客户端 现在,您正在使用该客户端连接到数据库 该数据库拥有具有密码的用户。这些用户拥有对象,您可以使用SQLPlus之类的工具使用SQL查询这些对象 下载和运行客户端工具(如您所拥有的)不会给您提供数据库或其中的任何内容 你需要找到一个现有的连接到,或者你需要建立自己的 当您使用我们的数据库创建助手(DBCA)创建数据库时,系统会提示您输入默认管理员

Oracle 如何在PeopleCode中获取SQL对象的列名?

我有一个数据库,它运行以前创建的SQL语句集合中的一个,绑定多个参数,并生成一个XML结果 每个请求中使用的SQL在返回的参数数和列数(以及列名)上有所不同 除了一个悬而未决的问题:如何收集列名并将这些信息包含在返回的数据中 目前,我们正在使用CreateSQL命令和一个SQL对象。据我所知,我们只能遍历结果值,而不能遍历列名和值的字典 在iscript的上下文中,如何使用无法提前知道的动态SQL(本质上)返回PeopleCode中包含结果的列名?我有一种通过PLSQL获取列名的方法,只是有点复

Oracle java.library.path中没有ocijdbc11-错误消息,无法连接

我越来越 no ocijdbc11 in java.library.path 在尝试连接到oracle数据库时,我不确定为什么以及如何更正此问题。我使用的是:Oracle SQL Developer和Oracle Client 11G。我需要帮助来纠正这个问题。我已编辑了sqlnet.ora文件以添加以下详细信息: NAMES.DIRECTORY_PATH= (LDAP,TNSNAMES,EZCONNECT) SQLNET.EXPIRE_TIME=2 SQLNET.INBOUND_CONNE

逐个刷新2个物化视图oracle

我有一个场景,在这个场景中,我将在另一个物化视图中使用物化视图。所以我需要在加入之前刷新MV。第一个MV完成后,如何进行第二个MV刷新?是什么导致第一个MV刷新?提交时是否刷新?按计划?作为自定义作业的一部分?两者都基于计划。

在Oracle中从YYYYMM开始获取短月份

如何将YYYYMM(存储为oracle数据库中的数字)转换为MMM-YYYY 例如。 对于202001年-我想转换为“一月至2020年” 请提供帮助。您可以使用到CHAR和到DATE如下所示: SQL> WITH YOUR_DATE ( DT ) AS ( -- your data 2 SELECT 202001 FROM DUAL 3 ) 4 -- your query 5 SELECT TO_CHAR(TO_DATE(DT,'YYYYMM'), 'Mon

Oracle pl/sql中的Powershell命令

如何在pl/sql过程中运行powershell命令? 我正在更改powershell中的active directory密码。 如何在oracle中运行powershell命令?据我所知,PL/SQL不能直接运行操作系统可执行文件 解决方法是使用DBMS\u调度器内置包创建数据库作业;在其CREATE_程序过程中,您将使用 program_type => 'EXECUTABLE' 然后创建计划,最后创建作业。由于这似乎是一次性操作,您实际上不会安排在某些时间间隔(例如,每天、每周、每两

Oracle 使用PL/SQL块创建触发器时出错

问题: 航班时刻表航班号、出发时间、到达时间、到达时间、价格 创建一个触发器,仅当航班号CX-7520安排在周二、周五和周日时,才允许插入或更新 CREATE OR REPLACE TRIGGER flightsch_day BEFORE INSERT OR UPDATE ON fl_schedule FOR EACH ROW WHEN (NEW.flno LIKE 'CX7520') DECLARE day NUMBER; BEGIN day:=EXTRACT(weekday

Oracle 与Mview同名的表上的DML

出于某种原因,我应该保留与基表同名的Mview。 在这种情况下,您能告诉我如何在基表上发布DML吗? 正如您在下面的示例中所看到的,我想为基表发布DML,但是,首先考虑的是Mview DROP TABLE SRC_TABLE PURGE; DROP TABLE TGT_TABLE PURGE; DROP MATERIALIZED VIEW TGT_TABLE; DROP MATERIALIZED VIEW LOG ON SRC_TABLE ; CREATE TABLE SRC_TABLE(X

OracleApex:如何执行过程并在页面上显示结果

我有一个过程,它动态地将应用程序id作为输入,并根据应用程序id显示结果 因此,如果: exec get_app_data(11); 结果将是: A B C 1 2 3 1 2 3 如果: exec get_app_data(12); D E F 1 2 3 1 2 3 因此,它基本上满足了动态更改列标题和显示动态视图的要求 现在,如何将此过程添加到oracle apex页面? 我知道它将首先作为一个页面进程添加以供执行,但是由于结果是