MSSQL 2005 - JDBC4 和子查询

发布于 2024-12-21 04:15:38 字数 515 浏览 2 评论 0原文

我尝试了一个查询,

  • A)填充 var 表
  • B)获取 var 表数据以帮助选择下一个数据
创建过程测试
作为
开始
声明@A表
(
id INT 不为空,
名称 VARCHAR(50)

);

INSERT @A SELECT id,名称 FROM table1 WHERE id>10

声明@B表
(

  地址 VARCHAR(255),
  城市 VARCHAR(128)

);

INSERT @b SELECT 地址,城市 FROM table2
WHERE id IN(从@A中选择id) 
结尾;

...所以,结果,我的过程中有两个 select 语句 :S 事情是...所有仅包含一个 select 语句的过程在 JDBC4 中表现良好,但这里有些问题,因为当过程包含两个 select 语句时什么都不返回:(所以我的问题是两个 select 语句会导致 jdbc4 出现问题吗?如果确实如此,如何修复它?

I tried a query which

  • A) fills var table
  • B) gets the var table data as helpful to select next data
CREATE PROCEDURE  Test
AS
BEGIN
DECLARE @A TABLE
(
id INT NOT NULL,
name VARCHAR(50)

);

INSERT @A SELECT id,name FROM table1 WHERE id>10

DECLARE @B TABLE
(

  address VARCHAR(255),
  city VARCHAR(128)

);

INSERT @b SELECT address,city FROM table2
WHERE id IN(SELECT id FROM @A) 
END;

... so, as a result, I have two select statements in my procedure :S The thing is... All procedures which contain just one select statement behave fine with JDBC4 but here something is wrong because when procedure contains two select statement it returns nothing :( So my question can two select statement cause the problem with jdbc4? A if it does how to fix it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨轻弹 2024-12-28 04:15:38

尝试将SET NOCOUNT ON(编辑:在过程主体顶部添加一次)添加到存储过程中。结果被发回,可能会混淆 JDBC 4:这很常见...

请参阅SET NOCOUNT ON use了解更多

CREATE PROCEDURE  Test
AS
BEGIN
SET NOCOUNT ON; -- here

DECLARE @A TABLE
...

Try adding SET NOCOUNT ON (edit: once at the top of the procedure body) to the stored procedure. The result of this is sent back and may be confusing JDBC 4: this is quite common...

See SET NOCOUNT ON usage for more

CREATE PROCEDURE  Test
AS
BEGIN
SET NOCOUNT ON; -- here

DECLARE @A TABLE
...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文