我试图在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子句的模式.
您将给予的任何帮助将不胜感激.
这是我的查询,
CREATE VIEW employee_vu AS(
SELECT employee_id,last_name "employee",department_id
FROM employees);
Run Code Online (Sandbox Code Playgroud)
我在小写的情况下给出了列的别名,并且在我确认了desc之后以小写形式存储.
但是,当我尝试选择此列员工时:发生错误
员工:标识符无效
由于所有列名都以大写形式存储,这是问题,请解释背后的概念是什么!
我正在比较查询我的开发和生产数据库.
它们都是Oracle 9i,但几乎每个查询都有完全不同的执行计划,具体取决于数据库.
所有表/索引都相同,但dev数据库大约是每个表的1/10行.
在生产中,它为大多数查询选择的查询执行计划与开发不同,并且成本高出1000倍.在某些情况下(生成表访问),生产查询似乎也没有使用正确的查询索引.
我最近也在两个数据库上运行了dbms_utility.analyze模式,希望CBO可以解决问题.
是否有其他潜在的oracle配置可能导致此问题?
我主要是开发人员,所以这种DBA分析起初相当混乱.
我们计划从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 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) 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).
在客户端的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) 现在我有一个查询给我一个空格,这很好,但我真正需要的是如果它为空则返回“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,“空”
我是新手到Oracle DBMS和我有任务在甲骨文如要更改索引表空间MYDB_DATA_SPACE来MYDB_INDX_SPACE.
我尝试在Google上搜索可能的解决方案并找到了这样的SQL:
ALTER INDEX idx_city_state
REBUILD TABLESPACE sales_us;
Run Code Online (Sandbox Code Playgroud)
我可以检查一下这是否符合目的?
我在尝试编译以下触发器时遇到此错误:
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)
这里有什么问题 ?我该如何解决这个问题?
oracle9i ×10
oracle ×9
sql ×4
performance ×2
database ×1
ora-00904 ×1
plsql ×1
postgresql ×1
sequence ×1