这个错误很奇怪,用merge into时里面的using()里面的条件用占位符会产生这个错,无论是一个参数还是多个或者是任何类型,只要有占位符就会报错,如果换成11g就没问题,初步认为是驱动问题,但ojdbc5没源码,反编译也看不出个所以然。
解决办法,用间接写死的办法:比如using(select * from table where id = ' + id + ')代码写入。
这样会有不少问题,起码我遇到要做批处理时就头疼,这个写死就不可以批处理了,得一句句执行,一次次open session然后由close,效率很低。
解决办法,用间接写死的办法:比如using(select * from table where id = ' + id + ')代码写入。
这样会有不少问题,起码我遇到要做批处理时就头疼,这个写死就不可以批处理了,得一句句执行,一次次open session然后由close,效率很低。