Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

содержимое запроса в новую таблицу? [D5]


oleg_er ©   (2002-12-14 11:31:00) 

Народ, кто - нить сталкивался с такой проблемой?
Как решили?
Поделитесь идейкой?

проблема в том, что не могу создать структуру таблицы с полями, такими же как и запросе :-/ Если строковое поле - получается, а если с десятичной частью - не выцепляет сколько знаков до и после запятой!


Anatoly Podgoretsky   (2002-12-14 14:38:00) [1]

Бессмысленно говорить об этот в отрыве от базы данных


Anatoliy   (2002-12-14 14:27:00) [2]

Возможный медленный вариант:
Пройтись по полям DataSet (запроса), определить FieldDefs полей, создать таблицу с такмми же полями и построчно перенести данные.


Reindeer Moss Eater   (2002-12-14 13:58:00) [3]

Синтаксис LocalSQL :
insert into NewTable Select * from OldTable
Таблица NewTable должна быть предварительно создана


Anatoliy   (2002-12-14 13:54:00) [4]

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

> а вот select... where ... from... into... нигде не работает,
> однако...

Работает в Sybase, хотя where и from надо переставить местами :)
А вопрос поточнее надо ставить.

Для выгрузки например в Sybase можно SELECT * FROM table; OUTPUT TO "C:\table" FORMAT "DBASEIII"
в ACCESS SELECT * FROM table IN "C:\table" "dBASE IV;"


Reindeer Moss Eater   (2002-12-14 13:33:00) [5]

У Float полей нет такой характеристики - кол-во знаков после запятой. Это атрибут BCD полей.


oleg_er   (2002-12-14 12:42:00) [6]

интересный синтаксис.... Это к какой СУБД
если для фокса, то синтаксис там select ... from ... into dbf/cursor ... where...
если SQL, то там insert into ... () select .... from ... where ...

а вот select... where ... from... into... нигде не работает, однако...
а запрос, к примеру, простой
select fld1, fld2, fl11 from t1, t2 where t1.fld=t2.fld
причем типы полей fld1, fld2, fl11 - десятичные и неизвестно с какой дробной частью.

конечно, можно залесть в таблицу t1 посмотреть какая размерность fld1 и др пр, но это недопустимо!


Anatoliy   (2002-12-14 12:28:00) [7]

Почему не к чему? Запрос может быть типа
SELECT id,name,price*quant
WHERE price>0
FROM ware
INTO NewTable;

price- float(10,2)
quant- float(10,4)
тип результа просто float

SELECT id,name,cast(price*quant as float(10,2))
WHERE price>0
FROM ware
INTO NewTable;

теперь формат поля известен.
P.S. если я правильно понял проблему!

Так в чем собственно проблема? Вывести результат в DBF?


oleg_er   (2002-12-14 12:11:00) [8]

ФОКС
приводить не к чему.
Мне надо создать таблицу - структурой такой же, что и данные в запросе. Аналог в фоксе выражения
select * from ttt into dbf ttr1 where uuu=2

или, допустим, из оракла нужно запрос сохранить в виде dbf c типом полей, что и в оракле.

приведение типов тут вообще не причем... :-(


Anatoliy   (2002-12-14 11:39:00) [9]

Используй приведение типа cast()
Какая БД, запрос и как создаешь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо