标签: oracle9i

模式匹配与喜欢的条款

我试图在SQL语句中使用LIKE子句来匹配Oracle中的某个模式.

我想这样做:

LIKE '[A-Z][A-Z][1-4]%'
Run Code Online (Sandbox Code Playgroud)

..但我不能使用正则表达式,因为这是在Oracle9i上(正则表达式支持10g).

我试图匹配之前有两个字符的东西,然后是1到4之间的数字以及除此之外的任何东西.我试过这个,但它似乎没有用.我能够让它工作的唯一方法是:

WHERE ...
LIKE '%1__' OR 
LIKE '%2__' OR 
LIKE '%3__' OR 
LIKE '%4__'
Run Code Online (Sandbox Code Playgroud)

我不确定我想做的方式是否可行,或者是否正确,因为我从未尝试使用LIKE子句的模式.

您将给予的任何帮助将不胜感激.

sql oracle plsql oracle9i

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

使用子查询创建视图,在ORACLE 9i中使用列的别名!

这是我的查询,

  CREATE VIEW employee_vu AS(
  SELECT employee_id,last_name "employee",department_id
  FROM employees);
Run Code Online (Sandbox Code Playgroud)

我在小写的情况下给出了列的别名,并且在我确认了desc之后以小写形式存储.

但是,当我尝试选择此列员工时:发生错误

员工:标识符无效

由于所有列名都以大写形式存储,这是问题,请解释背后的概念是什么!

oracle oracle9i

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

Oracle:数据库之间执行计划的差异

我正在比较查询我的开发和生产数据库.

它们都是Oracle 9i,但几乎每个查询都有完全不同的执行计划,具体取决于数据库.

所有表/索引都相同,但dev数据库大约是每个表的1/10行.

在生产中,它为大多数查询选择的查询执行计划与开发不同,并且成本高出1000倍.在某些情况下(生成表访问),生产查询似乎也没有使用正确的查询索引.

我最近也在两个数据库上运行了dbms_utility.analyze模式,希望CBO可以解决问题.

是否有其他潜在的oracle配置可能导致此问题?

我主要是开发人员,所以这种DBA分析起初相当混乱.

oracle performance oracle9i sql-execution-plan

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

将Oracle数据库从9.2.0.7升级到9.2.0.8

我们计划从Oracle 9.2.0.7升级到9.2.0.8.建议升级的主要原因是解决与异常"以错误终止:ORA-00904:"T2"."SYS_DS_ALIAS_4":无效标识符"的问题,当我们尝试执行DBMS_STATS.GATHER_SCHEMA_STATS时.

我们担心提议的升级可能会对我们的Java应用程序产生负面影响,或者在最坏的情况下可能甚至不支持我们的Java应用程序.

我们可以采取哪些可能的方法或策略来确保从Oracle 9.2.0.7升级到9.2.0.8不会对我们的Java应用程序产生负面影响,或者不会导致我们的Java应用程序无法正常运行.基本上我们只想确认我们的应用程序仍然支持Oracle 9.2.0.8.

谢谢.

oracle oracle9i ora-00904

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

我们如何优化oracle数据库?

我们有一个Oracle 9i数据库,其中包含7个表,每个表有1500多万条记录.表之间没有关系,即没有外键.

以下是其中一个表的示例

CREATE TABLE GSS.SHOWPD
(
  INSERVID          VARCHAR2(7 CHAR)            NOT NULL,
  CAGEPOS           VARCHAR2(8 CHAR)            DEFAULT NULL,
  DETAILEDSTATE     VARCHAR2(100 CHAR)          DEFAULT NULL,
  FAILEDMB          NUMBER                      DEFAULT NULL,
  FREECHUNK         NUMBER                      DEFAULT NULL,
  FREEMB            NUMBER                      DEFAULT NULL,
  FWREV             VARCHAR2(100 CHAR)          DEFAULT NULL,
  FWSTATUS          VARCHAR2(100 CHAR)          DEFAULT NULL,
  AID               NUMBER                      DEFAULT NULL,
  LDA               VARCHAR2(100 CHAR)          DEFAULT NULL,
  MANUF             VARCHAR2(100 CHAR)          DEFAULT NULL,
  AMODEL            VARCHAR2(4000 CHAR)         DEFAULT NULL,
  NODEWWN           VARCHAR2(64 CHAR)           DEFAULT NULL,
  NRMUNUSEDFAIL     VARCHAR2(100 CHAR)          DEFAULT NULL,
  NRMUNUSEDFREE     VARCHAR2(100 CHAR)          DEFAULT NULL,
  NRMUNUSEDUNAVAIL  VARCHAR2(100 …
Run Code Online (Sandbox Code Playgroud)

database oracle database-design oracle9i

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

在Oracle中,查看速度是否比自然连接快?那么postgresql呢?

SELECT cec.*
  FROM mam.category cec


SELECT cec.year, ces.*
  FROM mam.subcategory ces
  JOIN mam.category cec ON CEC.CATEGORY_ID = CES.CATEGORY_ID


SELECT cec.year, ceo.*
  FROM mam.options ceo
  JOIN mam.subcategory ces ON CES.SUBCATEGORY_ID = CEO.SUBCATEGORY_ID
  JOIN olr.iep_cost_est_category cec ON CEC.CATEGORY_ID = CES.CATEGORY_ID
Run Code Online (Sandbox Code Playgroud)

根据朋友的说法,oracle中的视图实际上更快用于缓存目的.这是真的?postgresql怎么样?我试过谷歌和stackoverflow(最接近的一个是MS SQL).

sql oracle postgresql oracle9i

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

使Oracle 9i使用索引

在客户端的9i服务器上部署在10g XE上开发的应用程序时,我遇到了性能问题.相同的查询根据服务器生成完全不同的查询计划:

SELECT DISTINCT FOO.FOO_ID               AS C0,
    GEE.GEE_CODE                         AS C1,
    TO_CHAR(FOO.SOME_DATE, 'DD/MM/YYYY') AS C2,
    TMP_FOO.SORT_ORDER                   AS SORT_ORDER_
FROM TMP_FOO
INNER JOIN FOO ON TMP_FOO.FOO_ID=FOO.FOO_ID
LEFT JOIN BAR ON FOO.FOO_ID=BAR.FOO_ID
LEFT JOIN GEE ON FOO.GEE_ID=GEE.GEE_ID
ORDER BY SORT_ORDER_;
Run Code Online (Sandbox Code Playgroud)

Oracle数据库10g快捷版10.2.0.1.0版 - 生产:

-------------------------------------------------------------------------------------------
| Id  | Operation                       | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                |         |     1 |    67 |    10  (30)| 00:00:01 |
|   1 |  SORT UNIQUE                    |         |     1 …
Run Code Online (Sandbox Code Playgroud)

oracle performance oracle9i

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

如果行为空,从 oracle db 查询返回文本

现在我有一个查询给我一个空格,这很好,但我真正需要的是如果它为空则返回“Empty”的东西。我已经尝试了几个选项,现在这是我拥有的最好的查询,但我不确定如何让它显示“EMPTY”(如果为空)。

SELECT paramOne, paramTwo
FROM tableName
WHERE search_param = 'x' 

UNION ALL

SELECT NULL, NULL
FROM dual
WHERE NOT EXISTS (
SELECT paramOne, paramTwo
FROM tableName
WHERE search_param = 'x'
);
Run Code Online (Sandbox Code Playgroud)

paramOne 是数字 paramTwo 是 varchar

我正在寻找的结果基本上是这样的:

如果该行有数据,它应该返回 123, Name

如果该行没有数据,则应为 000,“空”

sql oracle oracle9i

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

如何更改Oracle 9i中的索引更改表空间?

我是新手到Oracle DBMS和我有任务在甲骨文如要更改索引表空间MYDB_DATA_SPACEMYDB_INDX_SPACE.

我尝试在Google上搜索可能的解决方案并找到了这样的SQL:

ALTER INDEX idx_city_state
REBUILD TABLESPACE sales_us;
Run Code Online (Sandbox Code Playgroud)

我可以检查一下这是否符合目的?

oracle9i

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

在此上下文中不允许使用表,视图或序列引用"SEQUENCE.NEXTVAL"

我在尝试编译以下触发器时遇到此错误:

CREATE OR REPLACE TRIGGER INCREMENTER_ID_CONSISTANCE 

BEFORE INSERT ON BD.CONSISTANCE 
for each row
BEGIN
:new.code := ID_CONSISTANCE.nextval;
END;  


**ERROR** : Table,View Or Sequence reference 'ID_CONSISTANCE.nextval' not allowed in
this context  
Run Code Online (Sandbox Code Playgroud)

这里有什么问题 ?我该如何解决这个问题?

sql oracle sequence oracle9i

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