使用 while-begin-end 循环时 SQL native 和 JDBC 的区别
Posted
技术标签:
【中文标题】使用 while-begin-end 循环时 SQL native 和 JDBC 的区别【英文标题】:Difference in SQL native and JDBC when used while-begin-end loop 【发布时间】:2016-11-06 19:56:25 【问题描述】:在本地 MSSQL 连接和 JDBC 中执行一个小的 t-sql 循环(while - begin - end)时,得到一个奇怪的结果。 在 MSSQL SMS 中,所有通过 JDBC 获得第一个循环的地方都按预期工作。
declare @i int = 1
while @i <= 10
begin
select @i
set @i=(@i+1)
end
短信结果为: 1 2 3 ... 10
在哪里通过 jdbc 只是 1
非常感谢任何帮助!
谢谢
【问题讨论】:
您可以尝试将SET NOCOUNT ON;
放在批处理的开头,看看是否有帮助。 (详情here。)
谢谢你,但......没有帮助
您是否正在检查多个结果集,如here 所述?
嗨,戈德,我正在创建一个临时表,然后需要更新几行关于临时表中的值的行,即
请出示您使用的Java代码。
【参考方案1】:
你可以试试
int size = 1
while(rs.next())
if(rs != null)
rs.beforeFirst();
rs.last();
size = rs.getRow();
System.out.println("cols = " + size);
【讨论】:
嗨 Raghu,这将需要在我不允许的地方更改代码。 Q 在 中作为常规 tsql 脚本执行以上是关于使用 while-begin-end 循环时 SQL native 和 JDBC 的区别的主要内容,如果未能解决你的问题,请参考以下文章