我有一组Oracle表,这些表描述了有关财产所有者的信息。对于每个所有者,所有者名称和其他文本值存储在多个相关表的多个字段中。我想索引这些字段的内容。我的目标是提供一个单一字段,用户可以在其中输入关键字来定位所有者
如何设置Oracle文本以实现此目的?您只需要创建一个多数据存储首选项,并将其作为参数传递给索引
begin
ctx_ddl.create_preference('my_multi', 'MULTI_COLUMN_DATASTORE');
ctx_ddl.set_attribute(
我有一个表,下面有一列
BoxNumber Status
580 4
581 4
582 4
583 4
584 2
585 2
586 4
587 4
588 4
589
在使用Database Configuration Assistant创建数据库之后,我转到Enterprise Manager,登录到它,它告诉我,java.lang.Exception:sending Request中的Exception::null。此数据库的OracleDBConsole和iSQLPlus服务已启动。当我运行%ORACLE\u HOME%\bin\emctl status dbconsole时,它会说,EM守护进程没有运行。我该怎么处理?如何启动EM守护进程
试试这个命令
我们有一个web应用程序(Grails),我们将根据用户数量为其出售许可证。数据库(Oracle 10g)中有一个表,用于保存用户。客户将拥有自己的软件和数据库副本。有人能提出一些策略来限制用户表中允许存在的记录的数量吗?这种方式不能被客户合理地破坏?谢谢。这将取决于您对“合理”的定义。如果他们托管数据库,他们总是能够允许更多的行
最简单的解决方案是AFTER语句触发器,该触发器计算行数,如果插入的行太多,则引发异常。当然,他们可以放下或禁用触发器。另一方面,应用程序还可以查询数据字典,以验证
我想编写一个SQL,将表中的所有列重置回默认值,除了几个列(如主键)
我只想命名不更新的列,并重置所有其他内容。桌子上有很多柱子,我不想写什么:
update my_table set column1 = DEFAULT, column2 = DEFAULT, ... where ...
对于所有的哥伦布,因为有很多
有什么想法吗?我使用的是Oracle,我不认为有一个过程可以满足您的需要,但是如果您唯一的问题是编写SQL的繁重负担,那么您可以使用“所有”选项卡“列”视图自动完成。您可以根
我刚刚在Windows7机器上安装了Oracle11gR2。我可以使用sys作为sysdba帐户登录
使用sys帐户,我创建了一个用户,如下所示
create user testuser identified by testuser;
当我试图用testuser作为普通用户连接到数据库时,它说“用户testuser缺乏创建会话权限;“登录被拒绝”,这是可以理解的,因为到目前为止我还没有授予testuser任何权限
但当我尝试使用testuser作为sysdba登录到数据库时,它允许我连接到数据
我使用的是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数据库中的一些数据,特别是批量更新和读取时间戳信息。由于业务需要,我不得不将MM/DD/yyyyy HH24:MI:SS格式转换为YYYY-MM-DD HH24:MI:SS格式。此外,由于业务需求,时间戳存储为VARCHAR,而不是本机日期时间
不幸的是,现在我在数据上运行select操作时遇到了问题
具体来说,当我运行以下select时,我收到ORA-01861:Literal与格式字符串不匹配:
SELECT datetime_stamp
from ent
需要从列varchar2数据类型内的字段中删除点。小数点并不总是在那里,但当它在那里时,它总是在第五位,后面总是有两个零。
12E4.00我们需要保留零
似乎使用REGEXP_REPLACE是合理的,但不知道是否也有一种纯sql的方法来完成它。在100000行和28000个嵌入小数的字段实例下
感谢所有的帮助。听起来你只是需要一个简单的替代品
您需要将其转换为针对表的UPDATE语句
UPDATE some_table
SET some_column = REPLACE( some_col
我需要将数据从Oracle移动到Sybase。我已经成功地移动了模式,但为了移动数据,Sybase上的一份白皮书指出要使用Power Transfer tool,但是我无法在Sybase站点上找到它。白皮书在2000年有点旧,在2006年有第二份,所以我想知道Sybase是否更改了Power Transfer的名称,或者将其与其他软件合并?有人知道吗
白皮书连结
http://www.sybase.com/content/1047976/MSSQL-ASE-Guide-111006-wp.pd
在运行多个试图写入数据库的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
我的问题是,我从db中读取数字(BigDecimal),并使用点作为小数分隔符查看它们,但我希望使用逗号查看它们。我使用了以下代码:
@NumberFormat(style=style.NUMBER,pattern=“#
私有大十进制数
我的应用程序具有以下体系结构:
oracledb-hibernate-springmvc
我需要自动转换,而不需要手动转换为十进制格式的字符串。BigDecimal就是BigDecimal。它没有任何内在的格式
而且,它肯定不是像Hibernate这样的ORM的
我试图考虑一个验证器,它检查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/ &
我正在尝试做一些非常简单的事情。。。让我举一个例子。
假设我有一个包含多个列的表,让我们将其中一列称为“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
jobsmaterialized-views
我正在使用类似
从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。
谢谢。您可以运行以
我想将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
oracle-sqldeveloper
在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
pl sql集合中是否有类似rowid的工具?在我的例子中,当我在sql查询中使用这个集合时,我还需要序列号。我知道修改是数据结构的一种方式,但我想使用集合的索引。所以我要找的是这样的东西:
TYPE t_List IS TABLE OF VARCHAR2(200);
及
循环不应按顺序执行,但我需要类似于集合索引的ROWID之类的内置内容。如果索引很重要,请使用关联数组(也称为表索引)
请参阅。SQl语句中只能使用架构级别的类型,即使在PL/SQl块中也是如此。正如您已经知道的,您可以创建自
场景:
我有一个通过sqlplus调用.sql文件的批处理脚本。.sql文件如下所示:
set serveroutput on
variable out_val varchar2;
exec &1;
print out_val
exit
问题:
批处理脚本传递一个字符串,在该字符串上执行.sql。我希望这个字符串在99%的时间内都是正确的,但我需要为最后1%做计划,因为批处理将每5分钟调用一次。当.sql被传递了正确的登录信息和架构,但表名不正确时,我的批处理将挂起并且不会自动关闭。相
我有一个巨大的数据库,其中有数百万行,查询中包含多个表。我想测试我的查询,以便知道我的查询是否正常工作
如果我运行我的查询,那么给出查询的输出将需要几个小时,在阅读了oracle中关于Rownum的内容后,我尝试了这一点,但Rownum只在查询执行后执行
是否有任何快速的方法来测试我的查询,以便我可以显示前100行
select
p.attr_value product,
m.attr_value model,
u.attr_value usage,
l.attr_value location
在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服务器的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
where-clauseidentifier
我被这个错误困扰了两个小时
我使用嵌套选择来获取第一个值
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
我的表格如下:
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
我正在编写一些ETL,以便从旧的Oracle数据库中获取数据,并将其输入SQL Server数据库,以用于分析服务等
旧版oracle数据库将多个时间列存储为数字(4,2)
是否有任何内置函数可以将其转换为时间数据类型?以前有人见过这个吗?你是怎么解决的
谢谢EDIT2:根据MT0更正了查询。当您将:置于两者之间而不是时,这也将考虑场景
with tbl as(
select 9 as tf from dual union all
select 1
我找不到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之间持续同步数据,并想知道是否有任何现有解决方案
提前感谢,,
Lin您可以查看一种在Apache Hadoop和关系数据库(如MySQL或Oracle)之间高效传输批量数据的工具。它支持
标签: Oracle
oracle-sqldeveloper
这是我的桌子,我完全迷路了:
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
我有一张桌子
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中创建触发器时遇到问题,我有一个表“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"
我不确定这是否可行,但我想问问社区
我有一个列,其中包含用户上传到我的站点的文件名。我想创建一个唯一的约束,它将删除文件名列中的所有空格,这样即使用户犯了错误并添加了额外的空间,约束也会抛出错误
我曾想过在我的表中创建一个新列,并在插入文件名时删除所有空格,但我想看看这是否可以立即完成
我认为性能将受到重大影响,如果是这样,我将在表中创建新列。是否有更好的方法来检查文件名是否在我的表中,并且在某种程度上包含了用户捕获重复文件时所犯的一些简单错误?您可以创建一个唯一的基于函数的索引。以下是一个例子
我编写了一个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
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
您好,我正在看一个遗留数据库,它包含现有表的多个转换表
因此有一个定律表,但也有一个翻译定律表:
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客户端winx64_12102_客户端并配置了tnsnames.ora。当我尝试使用connect with sqlplus/nolog登录,然后使用connect时,请输入用户名和密码。
这给了我错误
ORA-12560: TNS: protocol adapter error.
我已经通过许多论坛,并已设置甲骨文主页,路径和TNS_管理,但我仍然得到错误
在Oracle net configuration assistant中测试是否能够连接到数据库时。测试成功,但
是否可以在两个不同的列上预成型LISTAGG,并在oracle中对其进行合并
例如:
Select a, LISTAGG(b, ' , ') WITHIN GROUP(ORDER BY a) || ' ' || LISTAGG(c, ' , ') WITHIN GROUP(ORDER BY a)
FROM table
GROUP BY a
尝试时发生了什么?函数参数列表中出现错误:“无法识别组”。函数参数列表中出现错误:“)”无法识别。函数参数列表中出错:“|”无法识别。函数参数列表中出现错
我想添加一个检查约束,以确保任何人都不能在家庭表中输入多个配偶。我正在尝试使用自定义函数来实现相同的功能。我在做这样的事情:
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
“我的数据库”列将数据保存在PST或PDT中,具体取决于一年中完成输入的时间
例如,在美国,当地时间在3月的第二个星期日从太平洋标准时间(PST)变为太平洋标准时间(PDT),在11月的第一个星期日从太平洋标准时间(LST)02:00变为太平洋标准时间(LDT)
因此,在我的目标中,我有一个额外的列,它将以GMT格式存储日期
因此,请帮助我处理这种情况,并将结果从源存储到目标
源表:
Request_ID, Reques
我们使用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
我需要为更新后、插入后和删除前创建日志触发器
在accounts_history表中,我的行数比accounts表中的多,这让我感到困惑
如何编写触发器
我试着这么做,但没有成功,我就是这样创建表和序列的
我是Oracle和plsql的初学者
如果我没有很好地解释我的问题,我很抱歉
create table accounts (
id number,
name varchar2(32),
amount number,
date date
);
create sequnce ac
我们有一个由第三方建立的包含大量表和列的数据库
其中许多列完全没有使用。我试图创建一个查询,返回实际使用的所有列的列表(包含>0个值)
我目前的尝试-
SELECT table_name, column_name
FROM ALL_TAB_COLUMNS
WHERE OWNER = 'XUSER'
AND num_nulls < 1
;
选择表名、列名
从所有_选项卡_列
其中所有者='XUSER'
和num_nulls
我想使用SQLPlus,但它要求我输入登录id和密码
我使用这个链接安装了它,它没有要求我设置登录id/密码
默认登录id/密码是什么?您安装了一个客户端
现在,您正在使用该客户端连接到数据库
该数据库拥有具有密码的用户。这些用户拥有对象,您可以使用SQLPlus之类的工具使用SQL查询这些对象
下载和运行客户端工具(如您所拥有的)不会给您提供数据库或其中的任何内容
你需要找到一个现有的连接到,或者你需要建立自己的
当您使用我们的数据库创建助手(DBCA)创建数据库时,系统会提示您输入默认管理员
标签: Oracle
peoplesoftpeoplecode
我有一个数据库,它运行以前创建的SQL语句集合中的一个,绑定多个参数,并生成一个XML结果
每个请求中使用的SQL在返回的参数数和列数(以及列名)上有所不同
除了一个悬而未决的问题:如何收集列名并将这些信息包含在返回的数据中
目前,我们正在使用CreateSQL命令和一个SQL对象。据我所知,我们只能遍历结果值,而不能遍历列名和值的字典
在iscript的上下文中,如何使用无法提前知道的动态SQL(本质上)返回PeopleCode中包含结果的列名?我有一种通过PLSQL获取列名的方法,只是有点复
标签: Oracle
database-connection
我越来越
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
我有一个场景,在这个场景中,我将在另一个物化视图中使用物化视图。所以我需要在加入之前刷新MV。第一个MV完成后,如何进行第二个MV刷新?是什么导致第一个MV刷新?提交时是否刷新?按计划?作为自定义作业的一部分?两者都基于计划。
标签: Oracle
type-conversionmonthcalendar
如何将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
如何在pl/sql过程中运行powershell命令?
我正在更改powershell中的active directory密码。
如何在oracle中运行powershell命令?据我所知,PL/SQL不能直接运行操作系统可执行文件
解决方法是使用DBMS\u调度器内置包创建数据库作业;在其CREATE_程序过程中,您将使用
program_type => 'EXECUTABLE'
然后创建计划,最后创建作业。由于这似乎是一次性操作,您实际上不会安排在某些时间间隔(例如,每天、每周、每两
问题:
航班时刻表航班号、出发时间、到达时间、到达时间、价格
创建一个触发器,仅当航班号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
出于某种原因,我应该保留与基表同名的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
我有一个过程,它动态地将应用程序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页面?
我知道它将首先作为一个页面进程添加以供执行,但是由于结果是