Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Himmel Member Откуда: Сообщений: 28 |
Возникает ошибка:
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] Ответить | Цитировать Сообщить модератору |
Э....
Guest |
Himmel, INSERT отменили? |
28 фев 13, 15:45 [13994805] Ответить | Цитировать Сообщить модератору |
pkarklin Member Откуда: Москва (Муром) Сообщений: 74925 |
C помощью инструкции INSERT. PS. ДА и курсор тут не нужен. |
||
28 фев 13, 15:47 [13994821] Ответить | Цитировать Сообщить модератору |
Himmel Member Откуда: Сообщений: 28 |
Почему курсор не нужен ? Я же выбираю только те записи, которые мне нужны. |
28 фев 13, 16:09 [13995004] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
select делает тоже самое. только быстрее |
||
28 фев 13, 16:12 [13995019] Ответить | Цитировать Сообщить модератору |
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) -----------------------------------------------------------------------------------------------------------
Почему в переменные @ID, @F2, @ISU, @DATISUN, @DATISUO ничего не выбирается ??? Ведь SELECT отрабатывает и выбирает. |
||
28 фев 13, 17:27 [13995392] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Это вы на основании текста ошибки решили ? |
||
28 фев 13, 17:34 [13995439] Ответить | Цитировать Сообщить модератору |
Himmel Member Откуда: Сообщений: 28 |
Это я на основании того, что SELECT ничего не выбирает |
28 фев 13, 17:48 [13995523] Ответить | Цитировать Сообщить модератору |
Himmel Member Откуда: Сообщений: 28 |
SELECT @ID |
28 фев 13, 17:48 [13995525] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Ну так наверное его надо переписать так, чтобы он выбирал |
||
28 фев 13, 17:51 [13995532] Ответить | Цитировать Сообщить модератору |
MiCe Member Откуда: RUSSIA STAVROPOL Pyatigorsk Сообщений: 1996 |
а покурить BOL на предмет синтаксиса select into ???? |
28 фев 13, 23:11 [13996453] Ответить | Цитировать Сообщить модератору |
Himmel Member Откуда: Сообщений: 28 |
Да про INSERT я знаю, всё проблему решил без курсоров ! Спасибо. |
1 мар 13, 10:58 [13997821] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |