oracle 缺失关键字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 缺失关键字相关的知识,希望对你有一定的参考价值。
where CASE ORG_TERM_UNIT
WHEN ''Y'' THEN
MONTHS_BETWEEN(MAT_DATE,ORG_DATE)/12 <> ORG_TERM
WHEN ''M'' THEN
MONTHS_BETWEEN(MAT_DATE,ORG_DATE)<>ORG_TERM
WHEN ''D'' THEN
(MAT_DATE-ORG_DATE)<>ORG_TERM
END
可以参考下以下语法sql:
查询语句-select * from table;
select * from table where 条件1=数值 and 条件2=数值;
select * from table where id in (select id from table);两表关联
select a.a,b.b,c.c from table1 a,table2 b,table3 c where a.id1=b.id2;
插入语句-insert into table (字段1,字段2,字段3,……)
values (数值1,数值2,数值3,……);
更新语句-update 表名 set 数值 where=id = 1;
添加列语句-alter table 表名
add (列名1 类型1,列名2 类型2,列名3 类型3,……);
查询随机20条记录-select * from( select * from emp order by dbms_random.value) where rownum <= 10;
修改列类型-alter table 表名
modify (列名1 类型1,列名2 类型2,列名3 类型3,……);
删除列语句-alter table 表名
drop column 列名s;
显示查询时间-set timing on;
删除表语句-deltet table 表名;
清空表数据-truncate table 表名;
修改列名 - ALTER TABLE emp RENAME COLUMN comm TO newa;
集合查询(无重复):select * from table_name union
select * from table_name;
集合查询(有重复):select * from table_name union all
select * from table_name;
差 集 查 询:select * from table_name minus
select * from table_name; 参考技术A case when 不能那么用的。
where (ORG_TERM_UNIT = 'Y' and
MONTHS_BETWEEN(MAT_DATE,ORG_DATE)/12 <> ORG_TERM )
or (ORG_TERM_UNIT ='M' AND
MONTHS_BETWEEN(MAT_DATE,ORG_DATE)<>ORG_TERM )
or (ORG_TERM_UNIT = 'D' AND
(MAT_DATE-ORG_DATE)<>ORG_TERM)
大概是这样,呵呵,效率我不保证啊。追问
是因为跟where连用所以出错么?还是什么原因啊?谢谢了
追答case when case when部分是逻辑计算,then部分填的是值,不能是 逻辑计算吧
本回答被提问者和网友采纳 参考技术B WHEN ''D'' THEN(MAT_DATE-ORG_DATE)<>ORG_TERM
有问题的追问
为什么?可以帮忙修改一下么?
参考技术C case when 后面的内容是具体的字段或者内容,不能是表达式,且不能直接放在where后面使用Oracle使用merge into 编写存储过程 遇编译错误:PL/SQL: ORA-00926: 缺失 VALUES 关键字
参考技术A whennot
matched
then
insert
into
t1
这里不能用INTO
T1语法都错误,直接INSERT
VALUES()括号里填相应的字段,如果没有给空值
以上是关于oracle 缺失关键字的主要内容,如果未能解决你的问题,请参考以下文章
Oracle使用merge into 编写存储过程 遇编译错误:PL/SQL: ORA-00926: 缺失 VALUES 关键字
oracle创建实例时出现ORA- 00922缺失或无效,忽略后出现ORA-28000账号已被锁定。
创建oracle数据库时,出现ORA-00922: 选项缺失或无效