Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / добавить идентификатор и скопировать записи / 13 сообщений из 13, страница 1 из 1
19.06.2013, 11:04
    #38302808
добавить идентификатор и скопировать записи
Привет! Есть курсор shtory, в него выбираются несколько записей. Как добавить в этот курсор новое поле и занести в это поле числовой идентификатор? Чтобы поле добавилось ко всем занесенным записям? Идентификатор должен при следующем запуске программы быть другим. Например, если в первый занести идентификатор 1, то в следующий раз занести 2 для выбранных в курсор записей
...
Рейтинг: 0 / 0
19.06.2013, 11:16
    #38302828
добавить идентификатор и скопировать записи
Добавлять поле не нужно уже, это сделал. А как сделать вот это?
занести в это поле числовой идентификатор? Чтобы поле добавилось ко всем занесенным записям? Идентификатор должен при следующем запуске программы быть другим. Например, если в первый занести идентификатор 1, то в следующий раз занести 2 для выбранных в курсор записей
...
Рейтинг: 0 / 0
19.06.2013, 11:20
    #38302838
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить идентификатор и скопировать записи
веб_программистДобавлять поле не нужно уже, это сделал. А как сделать вот это?
занести в это поле числовой идентификатор? Чтобы поле добавилось ко всем занесенным записям? Идентификатор должен при следующем запуске программы быть другим. Например, если в первый занести идентификатор 1, то в следующий раз занести 2 для выбранных в курсор записей

Поиск по NewID
...
Рейтинг: 0 / 0
19.06.2013, 11:42
    #38302884
добавить идентификатор и скопировать записи
Делаю так, но не работает..

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SELECT MAX(id) as max_id FROM table1 INTO CURSOR c1 //// Потому что мне нужно потом курсор выводить в table1

SELECT shtory
DO WHILE.NOT.EOF()
SELECT table1
APPEND BLANK
    replace ser with shtory.cena
    IF id<>1
    replace id with 1
    ELSE 
    replace id with c1.max_id+1
    ENDIF 
SELECT shtory
SKIP
ENDDO



Все время в поле id заносится 1. Почему так
...
Рейтинг: 0 / 0
19.06.2013, 11:43
    #38302888
добавить идентификатор и скопировать записи
ой не ser там а ncena

Код: sql
1.
replace ncena with shtory.cena
...
Рейтинг: 0 / 0
19.06.2013, 11:58
    #38302913
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить идентификатор и скопировать записи
веб_программистой не ser там а ncena

Код: sql
1.
replace ncena with shtory.cena



Приведи исходные данные и что должно получиться.
...
Рейтинг: 0 / 0
19.06.2013, 12:08
    #38302930
добавить идентификатор и скопировать записи
PaulWist, Курсор shtory в котором разные поля они не нужны и поле id куда надо заносить идентификатор.
есть таблица table1 куда потом будут выгружены данные из курсора shtory. В таблице table1 поле id должно быть одинаковым для тех записей, которые в данный момент выгружаются в таблицу.

Т.е. в курсоре всем записям в поле id нужно задать такой id, который на 1 больше чем в таблице table1 и выгрузить эти данные в таблицу.
...
Рейтинг: 0 / 0
19.06.2013, 12:13
    #38302941
добавить идентификатор и скопировать записи
Думал сделать так:

SELECT MAX(id)+1 as max_id FROM table1 INTO CURSOR c1

В курсор c1 выбрать max(id)+1
затем через scatter занести в переменную памяти или куда она заносится // никогда не работал с scatter/GATHER

и потом в цикле сделать rapcale

но не умею работать с scatter/GATHER
...
Рейтинг: 0 / 0
19.06.2013, 12:43
    #38303014
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить идентификатор и скопировать записи
веб_программистТ.е. в курсоре всем записям в поле id нужно задать такой id, который на 1 больше чем в таблице table1 и выгрузить эти данные в таблицу.

Код: sql
1.
2.
3.
4.
5.
update shtory set id = id + 1

либо 

replace all id with id + 1 in shtory
...
Рейтинг: 0 / 0
19.06.2013, 13:11
    #38303075
добавить идентификатор и скопировать записи
PaulWist, Спасибо, я примерно так и сделал. У меня вопрос такой. Есть курсор уже готовый со всеми данными, остается из него данные выгрузить в таблицу table1 но не получается. В таблице записей не оказывается вообще: Подкорректируйте мой код

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT shtory
DO WHILE.NOT.EOF()
SELECT table1
    APPEND BLANK 
    replace ncena with shtory.cena
    replace id with shtory.id
SELECT shtory
SKIP
ENDDO
...
Рейтинг: 0 / 0
19.06.2013, 13:18
    #38303082
добавить идентификатор и скопировать записи
Кажись заработало go top забыл поставить..
...
Рейтинг: 0 / 0
19.06.2013, 13:41
    #38303143
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить идентификатор и скопировать записи
веб_программистPaulWist, Спасибо, я примерно так и сделал. У меня вопрос такой. Есть курсор уже готовый со всеми данными, остается из него данные выгрузить в таблицу table1 но не получается. В таблице записей не оказывается вообще: Подкорректируйте мой код

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT shtory
DO WHILE.NOT.EOF()
SELECT table1
    APPEND BLANK 
    replace ncena with shtory.cena
    replace id with shtory.id
SELECT shtory
SKIP
ENDDO



Можешь заменить одной строчкой

Код: sql
1.
insert into table1 (id, cena) select id, cena from shtory
...
Рейтинг: 0 / 0
19.06.2013, 16:49
    #38303585
12345зайчик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить идентификатор и скопировать записи
веб_программистКажись заработало go top забыл поставить..
лучшеб не заработало

может отца русской демократии спасет такое?

Create cursor tt (id i autoinc, vv c(5), kk c(5))
brow
Append Blank
brow
Append Blank
Append Blank
brow
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / добавить идентификатор и скопировать записи / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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