Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Добавление записей из других таблиц
|
|||
|---|---|---|---|
|
#18+
Помогите, пожалуйста. Почему то не срабатывает этот код в VFP 5.0 Есть две таблицы с одинаковой структурой Пишу: select table2 append from table1 for table1.adate=date() в table2 заносятся все записи из table1, а не те которые соответствуют текущей дате. В чем дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 08:12 |
|
||
|
Добавление записей из других таблиц
|
|||
|---|---|---|---|
|
#18+
Дело в том, что в команде APPEND FROM опция FOR относится к той таблице в которую добавляют записи, а не к той из которой эти новые записи берутся. В приведенном синтаксисе, условие FOR будет наложено только на одну текущую запись таблицы table1 В данном случае надо сделать 2 запроса: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 09:29 |
|
||
|
Добавление записей из других таблиц
|
|||
|---|---|---|---|
|
#18+
select table2 append from table1 for adate=date() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 09:42 |
|
||
|
Добавление записей из других таблиц
|
|||
|---|---|---|---|
|
#18+
Огромное спасибо. Теперь понятно. А я голову сломала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 10:33 |
|
||
|
Добавление записей из других таблиц
|
|||
|---|---|---|---|
|
#18+
Извиняюсь. Неправильно объяснил, как именно команад APPEND FROM фильтрует записи по FOR-условию. Похоже примерно на такую логику: По команде APPEND FROM создется выборка из таблицы-источника в некоторый временный курсор. И только потом из этого курсора происходит вставка записей в текущую таблицу. Имя этого куросора формируется случайным образом. Поэтому, если необходимо наложить фильтр на данные (отобрать записи из таблицы-источника по определенному условию), то указывать имя таблицы или ее алиас не имеет смысла, поскольку на момент подачи команды APPEND FROM его имя не известно. Так что AleksMed правильно написал. Не надо указывать алиас. Это и подразмевает наложение фильтра, поскольку в этом случае фильтр будет наложен на этот временный курсор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 12:37 |
|
||
|
Добавление записей из других таблиц
|
|||
|---|---|---|---|
|
#18+
ВладимирМ, так что не верно в вашем коде? Я поняла, что выборка сохранилась в курсор CurTMP, а затем в table2 добавляются записи из этого курсора. Или я чтото перепутала. Ошибка моя была в том, что я в книге вычитала "Если из таблицы CURDROP требуется добавить только те записи, у которых значение поля LInProduction равно .F. используйте следующие строки программы: SELECT PRODHIST APPEND FROM CURPROD FOR NOT lInProduction Т.е. получется выбираются записи ( соответствующие условию) из той таблицы, откуда надо их брать, а это оказалось не так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 15:30 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32813728&tid=1595284]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 349ms |

| 0 / 0 |
