MSSQL 2005 - JDBC4 и подзапросы - PullRequest
       28

MSSQL 2005 - JDBC4 и подзапросы

0 голосов
/ 13 декабря 2011

Я пробовал запрос, который

  • A) заполняет таблицу переменных
  • B) получает данные таблицы переменных как полезные для выбора следующих данных
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;

... поэтому в моей процедуре есть два оператора выбора: S Дело в том, что ... Все процедуры, содержащие только один оператор выбора, работают нормально с JDBC4, но здесь что-тонеправильно, потому что когда процедура содержит два оператора select, она ничего не возвращает :( Так что мой вопрос: два оператора select могут вызвать проблему с jdbc4? A, если она исправит это?

1 Ответ

3 голосов
/ 13 декабря 2011

Попробуйте добавить SET NOCOUNT ON (изменить: один раз в верхней части тела процедуры) к хранимой процедуре.Результат этого отсылается назад и может сбивать с толку JDBC 4: это довольно часто ...

См. УСТАНОВИТЬ НАЧАЛЬНОЕ ВКЛЮЧЕНИЕ * , чтобы узнать больше

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

DECLARE @A TABLE
...
...