我正在使用新的Oracle DB,其中一个表具有以下索引:
第二个索引是多余的,这会对性能产生负面影响吗?
我在Oracle 9i数据库表中有一个父子关系
喜欢:
parent | child
1 | 2
2 | 3
2 | 4
null | 1
1 | 8
Run Code Online (Sandbox Code Playgroud)
我需要得到一个给定孩子的绝对父母.说,我有孩子4,它必须给我父母:1
我已经看过CONNECT BY,但我找不到解决方案.
我做了这个工作,应该在1分钟的时间间隔内执行,但它不起作用.当我使用 execute dbms_job.run(2);它时会被执行. printe是一个程序请建议!
BEGIN
DBMS_JOB.SUBMIT (
job =>:job_no,
WHAT=>'printe;',--Procedure
next_date=>sysdate+1/24*60,
interval=>'sysdate+1/24*60'
);
commit;
END;
Run Code Online (Sandbox Code Playgroud) 我是node.js的新手,我已经做了我的研究没有成功,所以这是我的问题:
可以将Node.js与Oracle 9i数据库一起使用吗?如果是这样,我在哪里可以找到一些相关的东西?
提前致谢!
如何从此示例值中获取子字符串:
john.abc_1234
Run Code Online (Sandbox Code Playgroud)
我希望它返回john.abc.所以基本上我们需要删除之后的所有信息_.
更多例子:1234_abc
有没有办法找到Oracle在执行查询时是否曾使用过特定的Oracle索引?
我们有一个基于函数的索引,我怀疑它没有被Oracle使用,因此一些查询运行缓慢.我怎么能知道对数据库运行的查询是否正在使用此查询?
我在Oracle 9i数据库中有以下字符串:
A,B,C,
当它是字符串中的最后一项时,我需要替换','的所有实例.我已经提出了以下声明,但它删除了字段中的所有内容,而不仅仅是逗号.有什么建议?
UPDATE table SET column = REPLACE(SUBSTR(column, -1, 1), ',', '');
Run Code Online (Sandbox Code Playgroud) 我目前正在将Oracle 9i数据库(*.dmp文件)迁移到Oracle 11g数据库.为此,我使用exp和imp Oracle实用程序命令行:
exp USERID=<user>/<password>@<database> FILE=<path> OWNER=<owner>
Run Code Online (Sandbox Code Playgroud)
然后我创建一个skeleton.sql文件,它将创建表,索引表和最后的索引.
imp <user>/<password>@<database> FILE=<path> INDEXFILE="<path>\skeleton.sql" FROMUSER=<fromuser> TOUSER=<touser>
Run Code Online (Sandbox Code Playgroud)
在此迁移过程中,我能够正确导入大部分数据,当然,从一个数据库到另一个数据库,表空间保持不变,以避免任何冲突.
但问题来了.在Oracle 11g中,不再支持KOREAN_LEXER,而是必须使用KOREAN_MORPH_LEXER.为此,我执行以下SQL命令:
call ctx_ddl.create_preference('korean_lexer','korean_morph_lexer');
call ctx_ddl.add_sub_lexer('global_lexer','korean','korean_lexer',null);
Run Code Online (Sandbox Code Playgroud)
然后我导入skeleton.sql文件,以便在导入之前注入所需的数据:
sqlplus <user>/<password>@<database> @<path>\skeleton.sql
Run Code Online (Sandbox Code Playgroud)
表和索引表的创建顺利进行,直到我为每个创建的150多个索引收到以下错误:
CREATE INDEX "<schema>"."WORKORDER_NDX16" ON "WORKORDER"
ERROR at line 1 :
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20000: Oracle Text error:
DRG-10502: WORKORDER_NDX16 index does not exist
DRG-13201: KOREAN_LEXER is no longer supported
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 366
Run Code Online (Sandbox Code Playgroud)
索引仍然创建,此消息只是一个警告.我尝试重建任何破坏的索引:
ALTER index WORKORDER_NDX16 …Run Code Online (Sandbox Code Playgroud) 我有一个表,用于存储Web应用程序中的页面命中,存储
unique_row_id http_session_id page_name page_hit_timestamp
----------------------------------------------------------------
0 123456789 index.html 2010-01-20 15:00:00
1 123456789 info.html 2010-01-20 15:00:05
2 123456789 faq.html 2010-01-20 15:00:15
3 987654321 index.html 2010-01-20 16:00:00
4 987654321 faq.html 2010-01-20 16:00:05
5 987654321 info.html 2010-01-20 16:00:15
6 111111111 index.html 2010-01-20 16:01:00
7 111111111 faq.html 2010-01-20 16:01:05
8 111111111 info.html 2010-01-20 16:01:15
Run Code Online (Sandbox Code Playgroud)
我想运行一个SQL查询,它将向我显示用户最终浏览的最常见页面.
所以我最初的想法是,在我的(java)应用程序中,我可以运行一个查询,从表中选择不同的http_session_id值,然后对于每个不同的http_session_id,运行另一个获取带有'latest'page_hit_timestamp的页面的查询,并总计所有这些页面的总和.(对于上面的示例数据,我对info.html计数为2,对faq.html计数为1.)
但是,我想知道的是:有没有办法将这两个查询组合成一个单独的sql语句 - 或者我是否必须将存储过程路由下去?
我已经看过使用join了,但我无法弄清楚它是否适用于这种情况.
PS - 我知道我可以使用谷歌分析的喜欢在我的应用程序提供给我这个信息,但一),这是一个移动网络应用程序,所以不太适合现成的分析工具,和b)我只是好奇,知道这是否可以在SQL中完成.
我在一列中有一个包含完整水体名称的表格.即:
我想选择水的名称,但不是水的类型[湖泊,河流等...]
我个人使用:
select replace(watername, 'Lake') from water;
Run Code Online (Sandbox Code Playgroud)
但是,我希望在一个选择语句中捕获5种不同的水类型.
oracle9i ×10
oracle ×8
sql ×4
plsql ×3
oracle11g ×2
substr ×2
connect-by ×1
dbms-job ×1
indexing ×1
javascript ×1
join ×1
node.js ×1
oracle10g ×1
performance ×1
replace ×1
sql-update ×1