oracle数据库的问题,一直提示缺失逗号,应该是decode的问题 请高手指点~! 谢谢

2024-11-25 06:31:35
推荐回答(5个)
回答1:

你insert into里面的字段不应该有decode,如果你要结果根据时间不同显示不同值,那么就应该在values里面改,如下
insert into t_7_1测控设备静态库
(J_计量器具名称,
C_出厂编号,
G_规格型号,
J_精度等级,
L_类别,
S_使用单位,
J_检定单位,
Z_周期,
Z_最后一次检定日期)
values
('标准压力表',
'1006',
'Y-150',
'0.4',
'B',
'第一油矿',
'测试',
decode('两年',
'一个月',
'1',
'六个月',
'6',
'一年',
'12',
'两年',
'24',
'三年',
'36',
'两年'),
to_date('2011-03-03', 'yyyy-mm-dd'))

回答2:

insert into t_7_1测控设备静态库(
J_计量器具名称,C_出厂编号,G_规格型号,
J_精度等级,L_类别,S_使用单位,
J_检定单位, decode(Z_周期, '一个月','1','六个月','6','一年','12','两年','24','三年','36') Z_周期, Z_最后一次检定日期
) values(
'标准压力表','1006','Y-150',
'0.4','B','第一油矿',
'测试','两年',to_date('2011-03-03','yyyy-mm-dd')
);

目测下来, 问题不少啊
INSERT INTO 表名(
列名......
) VALUES (
数据......
);
你怎么在 列名那里, 就开始 decode 了?
而且那个 decode 函数, 还少了最后一个参数。

回答3:

先说一下,decode不能用在这里
insert into的目标表里是不可以用函数的
你还是改成insert into 表名 (z_周期) values (2);
总之,是目标表不能用函数

回答4:

DECODE 可以理解为
if(XXX){
。。。}
else if(XXX){
。。。}
else {
。。。}
你缺少最后的else
就是以上情况都不是的情况下 这一列等于什么

回答5:

decode(Z_周期, '一个月','1','六个月','6','一年','12','两年','24','三年','36','其他') Z_周期,
Z_最后一次检定日期) values('标准压力表','1006','Y-150','0.4','B','第一油矿','测试','两年',to_date('2011-03-03','yyyy-mm-dd'))