昨天的工作其实不难,就是有点费时间,但就算是不难的工作,在实际操作中也会遇到一些问题,一些很常见,但我们又不一定能立刻解决的问题。所以我现在就是把昨天在简单的插入语句中遇到的问题拿来跟大家分享下,虽然简单,但由于字段、数据量大,所以小问题也会有,而且一般般都是自己的粗心引起的,写这个,是告诉自己,要仔细,仔细,再仔细。

insert into table1 (

      a1,a2,a3,a4,a5,a6,a7,a8,a9,a10      

)

select b1,    --字段注释

      b2,    --字段注释

      b3,    --字段注释

      b4,    --字段注释

      b5,    --字段注释

      b6,    --字段注释

      b7,    --字段注释

      b8,    --字段注释

      b9,    --字段注释

      b10    --字段注释

from table2 ;

    在执行select语句时,出现了一个错误是:ora-00936 缺失表达式。我一看这个错误,我就晕了,这个错误太笼统,我根本不明白到底错误是在哪儿。查了百度,也只了解到这个错误是语法的错误。虽然有红线提示错误地方,但是我看着那个字段,完全没有错的。后来,问了别人,别人说,也许是注释的问题,把注释去了试试,我去掉了,问题果然解决了,我问为什么,他说也许是把注释当成了列别名。问题是解决了,但我表示不理解。

    在执行插入语句时:第二个问题是:ora-00947 没有足够的值。为此,我把七八十个字段一一对应,数了很久,字段也没有少,又不明白问题在哪儿。后来,想着把一个个字段再重新执行下,于是把5个5个的复制、粘贴,后来在最后几个字段时,果然让我找到了问题,原来是select语句中其中一个字段没有加逗号,导致它和下一个字段成为一个字段,所以才会报这个错误,这个问题也随之解决了,之后的动作就很顺利了。所以,当遇到很多字段时,我们需要耐心加细心。

   之前在做其他工作时,在执行很多的存储过程时,也会有很多的问题,主要是生成的表无数据。因此需要根据表数据的来源去找原因,然后也得清楚每个存储过程生成的是什么表,里面有些什么数据,说白了就是需求得弄清楚,我的错误是未真正搞清楚这个需求,只是知道个大概,然后盲目的去做,毫无思路,这样做的结果是做无用功,浪费时间浪费精力。

   所以我总结下,在做事前,搞清楚需求、目的,做事时,小心、细心加耐心。做事后,耐心检查结果是否正确,不要以为表中有数据就可以了,因为做数据是件责任很重大的事,否则,数据出了问题,其他人在用时,会有更多的麻烦。