Db2 RPG嵌入式SQL集选项commit=*CS
在使用嵌入式SQL的自由格式RPG中,我为我的SQL选项指定了以下选项:Db2 RPG嵌入式SQL集选项commit=*CS,db2,db2-400,rpgle,Db2,Db2 400,Rpgle,在使用嵌入式SQL的自由格式RPG中,我为我的SQL选项指定了以下选项: exec sql set option commit=*CS, datfmt=*iso, closqlcsr=*endmod; 如果我指定了commit=*CS,我是否需要在我的SQL select语句中使用CS指定,还是因为我在set选项中指定了它而假定 如果我指定commit=*none,然后在我的SQL select语句中指定WITH CS,那么WITH CS会生效吗?因为在我的set选项commit中,我说
exec sql
set option commit=*CS,
datfmt=*iso,
closqlcsr=*endmod;
如果我指定了commit=*CS
,我是否需要在我的SQL select语句中使用CS指定,还是因为我在set选项中指定了它而假定
如果我指定commit=*none
,然后在我的SQL select语句中指定WITH CS
,那么WITH CS
会生效吗?因为在我的set选项commit中,我说了*none
?set option
语句为模块中的所有语句设置默认值
该默认值可以由单个语句上的WITH
子句覆盖
所以
exec sql
set option commit=*CS,
datfmt=*iso,
closqlcsr=*endmod;
没有WITH
子句的语句将使用承诺控制和游标稳定性的隔离级别。带有NC的语句将不使用承诺控制,带有RS的语句将使用承诺控制和隔离级别读取稳定性
注意:closqlcsr=*endmod
会影响性能。它通常被用作设计不良和/或过时的应用程序的创可贴。 <代码> LoCQLCSR= *EnMOD可能会或可能不会损害性能。最好指定它,但我们还不能从OP中分辨出来。通常最好不要指定它。