这是我正在运行的删除脚本的后备脚本。这是我用来生成插入语句的查询。
select 'insert into remark_element(ELEMENTID,
REMARKID,
VALUE,
POSITION,
INFO_TYPE,
SCRIPTID)
values('||elementid||',
'||remarkid||',
'''||nvl(value,'null')||''',
'||position||',
'||nvl(info_type,null)||',
'||nvl(scriptid,null)||''||')'
from remark_element
where elementid in(....
这是该查询的结果:
insert into remark_element(ELEMENTID,
REMARKID,
VALUE,
POSITION,
INFO_TYPE,
SCRIPTID)
values(29650520,
20263860,
'0/877-426-6251-A',
1,,);
运行它会给出 ORA-00936: 由于空的 info_type 和 scriptid 字段而缺少表达式,这两个字段都是数字并且允许为空。我需要生成的查询说
insert into remark_element(ELEMENTID,
REMARKID,
VALUE,
POSITION,
INFO_TYPE,
SCRIPTID)
values(29650520,
20263860,
'0/877-426-6251-A',
1,
null,
null);
当 info_type 和 scriptid 为空时。我试过做 nvl(info_type,'null') 但得到 ORA-01722: invalid number for trying to put a string into a number field。当 info_type 或 scriptid 为 null 时,我如何操作它以返回 null 而不是 ,