oracle中insert into语句问题

数据库:oracle10g表结构:c1、c2、c3insertinto语句:insertintotablevalues(1,2,3),插入数据是成功的。现在情况是这个样子... 数据库:oracle 10g
表结构:c1、c2、c3
insert into 语句:insert into table values (1,2,3),插入数据是成功的。

现在情况是这个样子的:

sql语句是insert into table values (1,2),没有c3这个字段,插入数据的时候就会提示失败,但是我们又没法修改sql语句,因为这个是在一个软件里面。并且数据库中c3字段也不能删除掉。有不有什么办法可以解决这个问题呢?
展开
 我来答
专注提升你的数学成绩
2012-10-22
知道答主
回答量:26
采纳率:0%
帮助的人:16.9万
展开全部
先建一个表TAB1,把原来的表的数据都导入到这个TAB1,然后修改原来的表的结构,删除C3。就正常了。
然后在原来的表上创建触发器,当插入数据时,自动同步到TAB1。
或者向视图中插入数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
windy_hz
2012-10-22 · TA获得超过1452个赞
知道小有建树答主
回答量:397
采纳率:100%
帮助的人:374万
展开全部
原表改名,用原表建视图指向原表的c1和c2,可以解决插入的问题。或者建张新表,用触发器与原表关联。
追问
貌似可行,我试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小童鞋_成er
2012-10-22 · 知道合伙人数码行家
小童鞋_成er
知道合伙人数码行家
采纳数:4650 获赞数:22879
主要从事J2EE工作,热爱Java,用心讨论技术,共同进步。

向TA提问 私信TA
展开全部
insert into table values(1,2,null);试过么?我还是没大懂你的意思,到底有没有这个字段?
让c3是null就可以了吧!
更多追问追答
追问
有c3这个字段,只是sql语句不能更改。
追答
插入null
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lxr_303
2012-10-22 · TA获得超过473个赞
知道小有建树答主
回答量:875
采纳率:0%
帮助的人:515万
展开全部
可以试试把c3这个字段先设置为unused,插入完了之后再启用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
铭浩V新媒体策划
2012-10-22
知道答主
回答量:18
采纳率:0%
帮助的人:18万
展开全部
如果这个软件是开源的,你可以写一个转换的方法放进去。如果看不到源代码那你只能修改数据库了
追问
软件没法修改,就算修改也要几个月时间才能拿到。所以我不知道有不有别的办法能解决,比如存储过程之类的,我不熟悉数据库的高级用法。
追答
你不能修改SQL当然存储过程也是没用的,就算是调用存储过程也要修改代码,修改SQL的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式