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

Откуда:
Сообщений: 10
Есть таблица, как в него добавить новое поле во время выборки?

select * from table into table table2 в этом запросе нужно добавить новое поле с типом date. Просто поле знаю как добавить, а типа дата не знаю
22 сен 14, 10:30    [16603532]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
Dima T
Member

Откуда:
Сообщений: 15281
select *, {} as mydate from table into table table2
22 сен 14, 10:32    [16603538]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
osandroid
Member

Откуда:
Сообщений: 10
Dima T, оказывается так легко.

А можно еще 1 вопрос небольшой :) есть ли в foxpro какая-нибудь функция чтобы физически с диска удалить таблицу? Я просто совсем не знаком с foxpro просто одну программку нужно доработать, для одной программы не хочется изучать литературу
22 сен 14, 10:37    [16603554]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
Dima T
Member

Откуда:
Сообщений: 15281
если речь о результате запроса (table2) то для этого есть курсоры
select *, {} as mydate from table into cursor table2 readwrite

при закрытии курсор удаляется автоматически.

readwrite надо если ты собираешься вносить изменения
22 сен 14, 10:45    [16603585]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
osandroid
Member

Откуда:
Сообщений: 10
Dima T, Нет нужно именно таблицу удалять. Это для другой задачи из этой же программы
22 сен 14, 10:58    [16603634]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
AndreTM
Member

Откуда: Где-то в вологодских лесах...
Сообщений: 6901
cFileName = 'table2.dbf'
erase (cFileName)
* или delete file 
22 сен 14, 11:18    [16603706]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
Dima T
Member

Откуда:
Сообщений: 15281
AndreTM
cFileName = 'table2.dbf'
erase (cFileName)
* или delete file 

Не учи плохому. Вдруг таблица в контейнер включена?
Лучше так
drop table mytable
22 сен 14, 11:29    [16603752]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
AndreTM
Member

Откуда: Где-то в вологодских лесах...
Сообщений: 6901
Dima T
Не учи плохому
Кто бы с тобой спорил
Я просто воспринимаю по контексту (модификация таблицы, удалить физически), что она exclude...
22 сен 14, 11:50    [16603845]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
osandroid
Member

Откуда:
Сообщений: 10
А можно ли сделать такое?

Есть две таблицы поля одинаковые но во второй на 3 поля больше.

1. Привести эти таблицы к одинаковым полям по количеству и названиям полей с хранить их во временных таблицах
2. создать программно третью таблицу с такими же полями и перенести из двух первых таблиц все в третью
3. для третьей таблицы создать программно индексный файл по выражению alltrim(pole1)+alltrim(pole2)

Возможно ли такое и если да, то как?
22 сен 14, 12:38    [16604140]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
Dima T
Member

Откуда:
Сообщений: 15281
Возможно. по п.2 уточни что ты понимаешь под "перенести".
22 сен 14, 12:45    [16604183]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
osandroid
Member

Откуда:
Сообщений: 10
Dima T, просто скопировать
22 сен 14, 12:46    [16604188]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
Dima T
Member

Откуда:
Сообщений: 15281
допустим table1 имеет одинаковые поля с table2 плюс поле mydate типа дата
select * from table1;
   union all select *, {} as mydate from table2;
   into cursor table3;
   order by pole1, pole2
22 сен 14, 12:52    [16604230]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
osandroid
Member

Откуда:
Сообщений: 10
Dima T, into cursor table3; курсор вы же говорили временная таблица. А мне нужно наоборот первые две во временных хранить а третья чтобы реальная таблица была.


И для третьей как создать индексный файл по выражению alltrim(pole1)+alltrim(pole2)
22 сен 14, 12:55    [16604254]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
Dima T
Member

Откуда:
Сообщений: 15281
поставь into table table3 будет таблица.
нужен индекс - создай после создания таблицы.

зачем в индексном выражении alltrim() ?
Подумай что будет при таких данных
pole1pole2
ABCD
ABCD
ABCD
22 сен 14, 13:00    [16604287]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
osandroid
Member

Откуда:
Сообщений: 10
Dima T, alltrim вроде убирает лишние пробелы с обоих концов. поэтому его использую
22 сен 14, 13:03    [16604323]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
osandroid
Member

Откуда:
Сообщений: 10
А вообще как создавать индексный файл CDX по выражению alltrim(pole1)+alltrim(pole2)
22 сен 14, 13:09    [16604374]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
osandroid
Member

Откуда:
Сообщений: 10
и можно ли закрыть одну таблицу программно не через Close tables, а по другому именно определенную таблицу?
22 сен 14, 13:48    [16604670]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
Penner
Member

Откуда:
Сообщений: 340
use in table2
22 сен 14, 13:55    [16604711]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
Dima T
Member

Откуда:
Сообщений: 15281
osandroid
А вообще как создавать индексный файл CDX по выражению alltrim(pole1)+alltrim(pole2)

sele mytable
index on alltrim(pole1)+alltrim(pole2) tag pole1pole2
22 сен 14, 13:59    [16604743]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
Penner
Member

Откуда:
Сообщений: 340
не советую использовать alltrim() в индексе
22 сен 14, 14:35    [16605118]     Ответить | Цитировать Сообщить модератору
 Re: Добавление нового поля типа Дата в существующую таблицу  [new]
osandroid
Member

Откуда:
Сообщений: 10
Спасибо всем. Вроде бы получилось то что нужно было.
22 сен 14, 15:32    [16605519]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить