oracle单表字段更新问题
表名T_ONLINEOFFICE_ATTACHMENT,有主键ID,字段TITLE,FILE_TYPE。现在我将TITLE字段里的文件名截取后缀update到FILE_T...
表名 T_ONLINEOFFICE_ATTACHMENT,有主键ID,字段TITLE,FILE_TYPE。现在我将TITLE字段里的文件名截取后缀update到FILE_TYPE字段中,sql如下
T_ONLINEOFFICE_ATTACHMENT set FILE_TYPE=(
select m.filetype from (select t1.id mid,substr(t1.title,instr(t1.title,'.',-1,1)+1 ) filetype from T_ONLINEOFFICE_ATTACHMENT t1 ) m where m.mid=T_ONLINEOFFICE_ATTACHMENT.ID );
执行后显示更新了表中所有数据,但FILE_TYPE字段仍然为空。。。
而单独执行select t1.id mid,substr(t1.title,instr(t1.title,'.',-1,1)+1 ) filetype from T_ONLINEOFFICE_ATTACHMENT t1 是能得到所有记录的filetype的,截取的语句是正确的
为什么。。。? 展开
T_ONLINEOFFICE_ATTACHMENT set FILE_TYPE=(
select m.filetype from (select t1.id mid,substr(t1.title,instr(t1.title,'.',-1,1)+1 ) filetype from T_ONLINEOFFICE_ATTACHMENT t1 ) m where m.mid=T_ONLINEOFFICE_ATTACHMENT.ID );
执行后显示更新了表中所有数据,但FILE_TYPE字段仍然为空。。。
而单独执行select t1.id mid,substr(t1.title,instr(t1.title,'.',-1,1)+1 ) filetype from T_ONLINEOFFICE_ATTACHMENT t1 是能得到所有记录的filetype的,截取的语句是正确的
为什么。。。? 展开
2个回答
展开全部
m.mid=T_ONLINEOFFICE_ATTACHMENT.ID 这个条件是否正常。
你试运行 一下
select m.filetype
from (select t1.id mid,substr(t1.title,instr(t1.title,'.',-1,1)+1 ) filetype from T_ONLINEOFFICE_ATTACHMENT t1 ) m, T_ONLINEOFFICE_ATTACHMENT
where m.mid=T_ONLINEOFFICE_ATTACHMENT.ID
看是不是有结果。
你试运行 一下
select m.filetype
from (select t1.id mid,substr(t1.title,instr(t1.title,'.',-1,1)+1 ) filetype from T_ONLINEOFFICE_ATTACHMENT t1 ) m, T_ONLINEOFFICE_ATTACHMENT
where m.mid=T_ONLINEOFFICE_ATTACHMENT.ID
看是不是有结果。
追问
有结果,能得到filetype,说明条件应该是对的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询