Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Построчный проход таблицы в MS SQL2000 (аналог команда SCAN в FoxPro) / 6 сообщений из 6, страница 1 из 1
11.10.2002, 09:38:18
    #32057328
Oleg_Ovchar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный проход таблицы в MS SQL2000 (аналог команда SCAN в FoxPro)
Добрый день! Господа програмисты.
Кто подскажет, как лучше организовать построчный просмотр таблицы в MS SQL2000 - аналог команда SCAN в FoxPro.
...
Рейтинг: 0 / 0
11.10.2002, 09:40:45
    #32057330
ms
ms
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный проход таблицы в MS SQL2000 (аналог команда SCAN в FoxPro)
с помощью курсора (синтаксис см. в BOL),
но по возможности его лучше избегать
...
Рейтинг: 0 / 0
11.10.2002, 09:57:22
    #32057340
Oleg_Ovchar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный проход таблицы в MS SQL2000 (аналог команда SCAN в FoxPro)
Проблема. Хочу создать процедуру в MS SQL2000 для проведения расчетов: по одной таблице делаем проход, берем значения и записываем в другую уже проведенный на их основании расчет. Аналог примера из FoxPro:

SELECT aaa
GO TOP
SCAN
*** считываем даные и проводим на их основании расчет***
SELECT bbb
*** записываем в новую таблицу результат***
SELECT aaa
ENDSCAN
...
Рейтинг: 0 / 0
11.10.2002, 10:04:26
    #32057351
MichaelGK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный проход таблицы в MS SQL2000 (аналог команда SCAN в FoxPro)
FPro не юзал, а у нас записи перебираются курсором, а пишутся в другую таблицу Insert ом, а ошибки контролируются @@error ом... и т.д. а вообще все описано в BOLe.
...
Рейтинг: 0 / 0
11.10.2002, 10:51:29
    #32057380
iMorsh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный проход таблицы в MS SQL2000 (аналог команда SCAN в FoxPro)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Create table tmpTable (name sysname)

Declare @name sysname

Declare Cur1 Cursor For
	Select name  
	  From master..sysdatabases

Open cur1
	FETCH NEXT FROM Cur1  INTO @name 
	WHILE @@FETCH_STATUS =  0 
	BEGIN
		Insert  Into tmpTable (name) values (@name)
		FETCH NEXT FROM Cur1  INTO @name 
	END

Close Cur1
Deallocate Cur1

Select name from tmpTable  
Drop table tmpTable 


смотри в BOL про курсоры....
...
Рейтинг: 0 / 0
11.10.2002, 11:05:23
    #32057388
akuz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный проход таблицы в MS SQL2000 (аналог команда SCAN в FoxPro)
Можно провести расчеты в одном операторе insert.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
create table #t1 (id int, quantity float, price money)
create table #t2 (id int, amount money)

insert #t1 values ( 1 , 10 , 2 . 36 )
insert #t1 values ( 1 , 3 , 1 . 23 )
insert #t1 values ( 1 , 5 , 10 . 31 )
insert #t1 values ( 2 , 3 , 2 . 36 )
insert #t1 values ( 2 , 6 , 1 . 23 )

insert #t2
select id, sum(quantity * price)
from #t1
group by id

select * from #t2

drop table #t1
drop table #t2
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Построчный проход таблицы в MS SQL2000 (аналог команда SCAN в FoxPro) / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]