回复 3# drdb2 以查询计划来看是ur级别,但是很郁闷就是在db2top和db2pd里面看到的语句跟程序里面的不一样。而我使用两份程序来测试的,一份是c写另外一份是python写的,python写的程序里面的SQL到db2top和db2pd里看是不会变,而c程序的那一块写的程序里面的sql到d...
显示全部回复 3# drdb2 以查询计划来看是ur级别,但是很郁闷就是在db2top和db2pd里面看到的语句跟程序里面的不一样。而我使用两份程序来测试的,一份是c写另外一份是python写的,python写的程序里面的SQL到db2top和db2pd里看是不会变,而c程序的那一块写的程序里面的sql到db2top和db2pd就会加上for update,还有更奇怪的一件事,就是c程序里面的SQL被db2top和db2pd抓到后,单独拿来运行是会报语法错误的,比如我程序里面写的SQL是:select * from a union select * from b with ur,但是在db2top和db2pd看到的是select * from a union select * from b for update with ur,但是DB2的SQL语法规则里面是如果是查询SQL并且如果SQL中含有两张表或者两张表以上的,是不允许含有for update的,就相当于一个update语句里面不能同时更新两张表的意思。这几点我都很疑惑,不知道前辈是否遇到过我这种问题?
收起