Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 добавить идентификатор и скопировать записи  [new]
веб_программист
Member

Откуда:
Сообщений: 8
Привет! Есть курсор shtory, в него выбираются несколько записей. Как добавить в этот курсор новое поле и занести в это поле числовой идентификатор? Чтобы поле добавилось ко всем занесенным записям? Идентификатор должен при следующем запуске программы быть другим. Например, если в первый занести идентификатор 1, то в следующий раз занести 2 для выбранных в курсор записей
19 июн 13, 11:04    [14452448]     Ответить | Цитировать Сообщить модератору
 Re: добавить идентификатор и скопировать записи  [new]
веб_программист
Member

Откуда:
Сообщений: 8
Добавлять поле не нужно уже, это сделал. А как сделать вот это?
занести в это поле числовой идентификатор? Чтобы поле добавилось ко всем занесенным записям? Идентификатор должен при следующем запуске программы быть другим. Например, если в первый занести идентификатор 1, то в следующий раз занести 2 для выбранных в курсор записей
19 июн 13, 11:16    [14452533]     Ответить | Цитировать Сообщить модератору
 Re: добавить идентификатор и скопировать записи  [new]
PaulWist
Member

Откуда:
Сообщений: 2236
веб_программист
Добавлять поле не нужно уже, это сделал. А как сделать вот это?
занести в это поле числовой идентификатор? Чтобы поле добавилось ко всем занесенным записям? Идентификатор должен при следующем запуске программы быть другим. Например, если в первый занести идентификатор 1, то в следующий раз занести 2 для выбранных в курсор записей


Поиск по NewID
19 июн 13, 11:20    [14452558]     Ответить | Цитировать Сообщить модератору
 Re: добавить идентификатор и скопировать записи  [new]
веб_программист
Member

Откуда:
Сообщений: 8
Делаю так, но не работает..

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. Почему так
19 июн 13, 11:42    [14452695]     Ответить | Цитировать Сообщить модератору
 Re: добавить идентификатор и скопировать записи  [new]
веб_программист
Member

Откуда:
Сообщений: 8
ой не ser там а ncena

replace ncena with shtory.cena
19 июн 13, 11:43    [14452706]     Ответить | Цитировать Сообщить модератору
 Re: добавить идентификатор и скопировать записи  [new]
PaulWist
Member

Откуда:
Сообщений: 2236
веб_программист
ой не ser там а ncena

replace ncena with shtory.cena


Приведи исходные данные и что должно получиться.
19 июн 13, 11:58    [14452803]     Ответить | Цитировать Сообщить модератору
 Re: добавить идентификатор и скопировать записи  [new]
веб_программист
Member

Откуда:
Сообщений: 8
PaulWist, Курсор shtory в котором разные поля они не нужны и поле id куда надо заносить идентификатор.
есть таблица table1 куда потом будут выгружены данные из курсора shtory. В таблице table1 поле id должно быть одинаковым для тех записей, которые в данный момент выгружаются в таблицу.

Т.е. в курсоре всем записям в поле id нужно задать такой id, который на 1 больше чем в таблице table1 и выгрузить эти данные в таблицу.
19 июн 13, 12:08    [14452872]     Ответить | Цитировать Сообщить модератору
 Re: добавить идентификатор и скопировать записи  [new]
веб_программист
Member

Откуда:
Сообщений: 8
Думал сделать так:

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

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

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

но не умею работать с scatter/GATHER
19 июн 13, 12:13    [14452900]     Ответить | Цитировать Сообщить модератору
 Re: добавить идентификатор и скопировать записи  [new]
PaulWist
Member

Откуда:
Сообщений: 2236
веб_программист
Т.е. в курсоре всем записям в поле id нужно задать такой id, который на 1 больше чем в таблице table1 и выгрузить эти данные в таблицу.


update shtory set id = id + 1

либо 

replace all id with id + 1 in shtory
19 июн 13, 12:43    [14453164]     Ответить | Цитировать Сообщить модератору
 Re: добавить идентификатор и скопировать записи  [new]
веб_программист
Member

Откуда:
Сообщений: 8
PaulWist, Спасибо, я примерно так и сделал. У меня вопрос такой. Есть курсор уже готовый со всеми данными, остается из него данные выгрузить в таблицу table1 но не получается. В таблице записей не оказывается вообще: Подкорректируйте мой код

SELECT shtory
DO WHILE.NOT.EOF()
SELECT table1
    APPEND BLANK 
    replace ncena with shtory.cena
    replace id with shtory.id
SELECT shtory
SKIP
ENDDO
19 июн 13, 13:11    [14453388]     Ответить | Цитировать Сообщить модератору
 Re: добавить идентификатор и скопировать записи  [new]
веб_программист
Member

Откуда:
Сообщений: 8
Кажись заработало go top забыл поставить..
19 июн 13, 13:18    [14453437]     Ответить | Цитировать Сообщить модератору
 Re: добавить идентификатор и скопировать записи  [new]
PaulWist
Member

Откуда:
Сообщений: 2236
веб_программист
PaulWist, Спасибо, я примерно так и сделал. У меня вопрос такой. Есть курсор уже готовый со всеми данными, остается из него данные выгрузить в таблицу table1 но не получается. В таблице записей не оказывается вообще: Подкорректируйте мой код

SELECT shtory
DO WHILE.NOT.EOF()
SELECT table1
    APPEND BLANK 
    replace ncena with shtory.cena
    replace id with shtory.id
SELECT shtory
SKIP
ENDDO


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

insert into table1 (id, cena) select id, cena from shtory


19 июн 13, 13:41    [14453651]     Ответить | Цитировать Сообщить модератору
 Re: добавить идентификатор и скопировать записи  [new]
12345зайчик
Guest
веб_программист
Кажись заработало go top забыл поставить..

лучшеб не заработало

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

Create cursor tt (id i autoinc, vv c(5), kk c(5))
brow
Append Blank
brow
Append Blank
Append Blank
brow
19 июн 13, 16:49    [14455315]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить