Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вывести все переменные в отдельную таблицу, Или распечатать PRINT'ом внутри курсора  [new]
Himmel
Member

Откуда:
Сообщений: 28
Возникает ошибка:

автор
The query has exceeded the maximum number of result sets that can be displayed in the results grid. Only the first 100 result sets are displayed in the grid.


DECLARE @F2_ID        VARCHAR(50),
        @MESSAGE    VARCHAR(50),
        @IDENT        VARCHAR(50)

DECLARE klient_cursor CURSOR LOCAL FOR

    SELECT DISTINCT [F2_ID]
    FROM [dbo].[F1]
    WHERE
    ( [ISU] = '1160400' OR [ISU] = '75160100' )
    ORDER BY [F2_ID]

    OPEN klient_cursor
    FETCH NEXT FROM klient_cursor INTO @F2_ID
    WHILE @@FETCH_STATUS=0
    BEGIN
    SELECT @MESSAGE=@F2_ID

        -----------------------------------------------------------------------------------------------------------
        SELECT ID, F2_ID, ISU, DATISUN, DATISUO
        FROM [dbo].[F1] AS T1
        WHERE
        [F2_ID] = @MESSAGE AND
        ( [ISU] = '1160400' OR [ISU] = '75160100' )
        AND EXISTS
        (
            SELECT * 
            FROM [dbo].[F1] AS T2
            WHERE
            [F2_ID] = @MESSAGE AND
            ( [ISU] = '1160400' OR [ISU] = '75160100' )
            AND [T1].[DATISUN] < [T2].[DATISUN] and [T1].[DATISUO] > T2.[DATISUO]

        )

        UNION

        SELECT ID, F2_ID, ISU, DATISUN, DATISUO
        FROM [dbo].[F1] AS T1
        WHERE
        [F2_ID] = @MESSAGE AND
        ( [ISU] = '1160400' OR [ISU] = '75160100' )
        AND EXISTS
        (
            SELECT * 
            FROM [dbo].[F1] AS T2
            WHERE
            [F2_ID] = @MESSAGE AND
            ( [ISU] = '1160400' OR [ISU] = '75160100' )
            AND [T1].[DATISUN] > [T2].[DATISUN] and [T1].[DATISUO] < T2.[DATISUO]

        )

        -----------------------------------------------------------------------------------------------------------

        FETCH NEXT FROM klient_cursor INTO @F2_ID

    END

    CLOSE klient_cursor
    DEALLOCATE klient_cursor


Как записать в переменную или отдельную таблицу значения ?

SELECT ID, F2_ID, ISU, DATISUN, DATISUO


Не получается вывести через PRINT внутри курсора.
28 фев 13, 15:40    [13994765]     Ответить | Цитировать Сообщить модератору
 Re: Вывести все переменные в отдельную таблицу, Или распечатать PRINT'ом внутри курсора  [new]
Э....
Guest
Himmel,

INSERT отменили?
28 фев 13, 15:45    [13994805]     Ответить | Цитировать Сообщить модератору
 Re: Вывести все переменные в отдельную таблицу, Или распечатать PRINT'ом внутри курсора  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Как записать в переменную или отдельную таблицу значения ?


C помощью инструкции INSERT.

PS. ДА и курсор тут не нужен.
28 фев 13, 15:47    [13994821]     Ответить | Цитировать Сообщить модератору
 Re: Вывести все переменные в отдельную таблицу, Или распечатать PRINT'ом внутри курсора  [new]
Himmel
Member

Откуда:
Сообщений: 28
Почему курсор не нужен ? Я же выбираю только те записи, которые мне нужны.
28 фев 13, 16:09    [13995004]     Ответить | Цитировать Сообщить модератору
 Re: Вывести все переменные в отдельную таблицу, Или распечатать PRINT'ом внутри курсора  [new]
Glory
Member

Откуда:
Сообщений: 104760
Himmel
Почему курсор не нужен ? Я же выбираю только те записи, которые мне нужны.

select делает тоже самое. только быстрее
28 фев 13, 16:12    [13995019]     Ответить | Цитировать Сообщить модератору
 Re: Вывести все переменные в отдельную таблицу, Или распечатать PRINT'ом внутри курсора  [new]
Himmel
Member

Откуда:
Сообщений: 28
А insert into не сработает, потому что select не выбирает.

		-----------------------------------------------------------------------------------------------------------
		SELECT @ID=ID, @F2=F2_ID, @ISU=ISU, @DATISUN=DATISUN, @DATISUO=DATISUO FROM (
		
			SELECT ID, F2_ID, ISU, DATISUN, DATISUO
			FROM [ASPBalashikha_2].[dbo].[F1] AS T1
			WHERE
			[F2_ID] = @MESSAGE AND
			( [ISU] = '1160400' OR [ISU] = '75160100' )
			AND EXISTS
			(
				SELECT ID
				FROM [ASPBalashikha_2].[dbo].[F1] AS T2
				WHERE
				[F2_ID] = @MESSAGE AND
				( [ISU] = '1160400' OR [ISU] = '75160100' )
				AND [T1].[DATISUN] < [T2].[DATISUN] and [T1].[DATISUO] > T2.[DATISUO] --and [T1].pku=T2.pku

			)

			UNION

			SELECT ID, F2_ID, ISU, DATISUN, DATISUO
			FROM [ASPBalashikha_2].[dbo].[F1] AS T1
			WHERE
			[F2_ID] = @MESSAGE AND
			( [ISU] = '1160400' OR [ISU] = '75160100' )
			AND EXISTS
			(
				SELECT ID
				FROM [ASPBalashikha_2].[dbo].[F1] AS T2
				WHERE
				[F2_ID] = @MESSAGE AND
				( [ISU] = '1160400' OR [ISU] = '75160100' )
				AND [T1].[DATISUN] > [T2].[DATISUN] and [T1].[DATISUO] < T2.[DATISUO] --and [T1].pku=T2.pku

			)		

		) T

		-----------------------------------------------------------------------------------------------------------

		INSERT INTO view1 VALUES (@ID, @F2, @ISU, @DATISUN, @DATISUO)

		-----------------------------------------------------------------------------------------------------------


автор
An explicit value for the identity column in table 'view1' can only be specified when a column list is used and IDENTITY_INSERT is ON.


Почему в переменные @ID, @F2, @ISU, @DATISUN, @DATISUO ничего не выбирается ??? Ведь SELECT отрабатывает и выбирает.
28 фев 13, 17:27    [13995392]     Ответить | Цитировать Сообщить модератору
 Re: Вывести все переменные в отдельную таблицу, Или распечатать PRINT'ом внутри курсора  [new]
Glory
Member

Откуда:
Сообщений: 104760
Himmel
Почему в переменные @ID, @F2, @ISU, @DATISUN, @DATISUO ничего не выбирается ???

Это вы на основании текста ошибки решили ?
28 фев 13, 17:34    [13995439]     Ответить | Цитировать Сообщить модератору
 Re: Вывести все переменные в отдельную таблицу, Или распечатать PRINT'ом внутри курсора  [new]
Himmel
Member

Откуда:
Сообщений: 28
Это я на основании того, что SELECT ничего не выбирает
28 фев 13, 17:48    [13995523]     Ответить | Цитировать Сообщить модератору
 Re: Вывести все переменные в отдельную таблицу, Или распечатать PRINT'ом внутри курсора  [new]
Himmel
Member

Откуда:
Сообщений: 28
SELECT @ID
28 фев 13, 17:48    [13995525]     Ответить | Цитировать Сообщить модератору
 Re: Вывести все переменные в отдельную таблицу, Или распечатать PRINT'ом внутри курсора  [new]
Glory
Member

Откуда:
Сообщений: 104760
Himmel
Это я на основании того, что SELECT ничего не выбирает

Ну так наверное его надо переписать так, чтобы он выбирал
28 фев 13, 17:51    [13995532]     Ответить | Цитировать Сообщить модератору
 Re: Вывести все переменные в отдельную таблицу, Или распечатать PRINT'ом внутри курсора  [new]
MiCe
Member

Откуда: RUSSIA STAVROPOL Pyatigorsk
Сообщений: 1996
а покурить BOL на предмет синтаксиса select into ????
28 фев 13, 23:11    [13996453]     Ответить | Цитировать Сообщить модератору
 Re: Вывести все переменные в отдельную таблицу, Или распечатать PRINT'ом внутри курсора  [new]
Himmel
Member

Откуда:
Сообщений: 28
Да про INSERT я знаю, всё проблему решил без курсоров ! Спасибо.
1 мар 13, 10:58    [13997821]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить