Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Вниз

BatchMove не работает с вычисляемым полем!   Найти похожие ветки 

 
Соловьев   (2003-01-09 12:23) [0]

Использую BatchMove для сохранения данных из одной таблицу в другую. Если поле не вычисляемое , то все нормально, а как быть с вычисляемым?


 
MsGuns   (2003-01-09 13:00) [1]

Если обе таблицы идентичны, то не имеет смысла переписывать вычисляемые поля,- они сами по себе смысла не имеют. Если же в исх.таблице такого поля физически нет, а в результирующую надо его переписывать как поле обычное, то лучше это делать SQL-запросом.


 
Соловьев   (2003-01-09 13:05) [2]

Мне надо переписывать все записи с одной таблицы в другую: вычисляемое поле из первой в физическое поле второй. На сколько я знаю SQL добавляет по одной записи. А может я чего-то не понимаю. Сорри. Может поможите с SQL запросом тогда: чтобы добавлял множество.


 
MsGuns   (2003-01-09 13:12) [3]

Структуры таблиц - в студию !


 
Соловьев   (2003-01-09 13:18) [4]

2 MsGuns
Ты наверное не понял: мне надо сохранить вычисляемое поле из первой во вторую. SQL этого не сделает.


 
gek   (2003-01-09 13:30) [5]


> как быть с вычисляемым?

Никак см. MsGuns © (09.01.03 13:00)


 
Соловьев   (2003-01-09 13:30) [6]

А множество он добавить сможет, я не знал. :((((
insert into <table1> <select * from table2 >


 
Val   (2003-01-09 13:38) [7]

>Соловьев (09.01.03 13:30)
SQL этого не сделает.
На сколько я знаю SQL добавляет по одной записи
Прежде чем утверждать, неплохо бы изучить предмет.
В Вашем случае, лучший выход именно SQL.


 
Соловьев   (2003-01-09 13:40) [8]

2 Val
Да, с SQL я недоучил, но попробуй сохранить с помощью SQL вычисляемое поле.


 
Val   (2003-01-09 13:48) [9]

>Соловьев (09.01.03 13:40)

> но попробуй

Что пробовать, делать надо :)
Давайте структуры таблиц, для начала.
Единственная проблема может возникнуть в том, что Local SQL не поддержит конструкции, тогда придется ваоспользоваться Local views, возможно.


 
MsGuns   (2003-01-09 13:52) [10]

>Val © (09.01.03 13:48)
>Единственная проблема может возникнуть в том, что Local SQL не поддержит конструкции, тогда придется ваоспользоваться Local views, возможно.

Local SQL поддерживает бОльшую часть конструкций: конъюнкцию-дизъюнкцию, всю арифметику и еще кое-что. Но если там и взаправду зубодробительный алгоритм вычисляемого поля, то тогда вопросы к разработчику приложения.
А вообще-то без структур и формулы это все базарный п....ж !



 
Val   (2003-01-09 13:55) [11]

>MsGuns © (09.01.03 13:52)
согласен с утверждениями, с последним в особенности, но, Сергей, я говорил о вложенном в insert select"e, тут может не сработать на Local"е, хотя, я, конечно же, могу ошибаться.


 
Соловьев   (2003-01-09 14:01) [12]

OK!
Пишу. Структура такая:
Таблица №1
Поле1 - Name = VYDAN, type=character, size=150.
Остальные поля в вычислении не принимают участия поэтому не пишу.
В этом поле хранится Бог знает что - инфу набивали, кто только угодно. Алгорит такой, что нужно выцепить из строки ДАТУ и КЕМ ВЫДАН ДОКУМЕНТ=вся строка-ДАТА(или ЧАСТЬ ДАТЫ), если этого нельзя сделать то выдать всю строку.

Таблица №2
Поле1 - name=ID_VYDAN, type=numeric, size=2,0
Поле2 - name=N_VYDAN, type=character, size=150

Так вот нужно сохранить КЕМ ВЫДАН ДОКУМЕНТ в N_VYDAN.


 
Mike Kouzmine   (2003-01-09 14:09) [13]

Наверное, только while not eof appendrecord


 
Val   (2003-01-09 14:12) [14]

ничего не понял :(
где вычисляемое поле?
Поле1 - Name = VYDAN или нужно выцепить из строки ...?


 
Соловьев   (2003-01-09 14:19) [15]

КЕМ ВЫДАН ДОКУМЕНТ, ДАТА и ДРУГОЕ - 3 вычисляемых поля из одного.


 
Val   (2003-01-09 14:35) [16]

мда...вычисляемое поле называется. придется разбирать строку на паскале и добавлять по одной записи. см.Mike Kouzmine (09.01.03 14:09)


 
Соловьев   (2003-01-09 14:37) [17]

Я так и делаю. Но сохранять потом около 30 тыс записей перебором очень долго.


 
Val   (2003-01-09 14:39) [18]

это нормально для одноразовой работы


 
MsGuns   (2003-01-09 15:45) [19]

Как чувствовал :)) Зубодробительный !!!! Делал когда-то подобные вещи. Одним проходом без ручного контроля-правки тут обойтись тяжело. И это надо было всунуть в OnCalcFields ?!?! Ну уж, как говорится, флаг в руки, а древко - в ....


 
sniknik   (2003-01-09 15:47) [20]

Можно попробовать разбить строку если перейти на ADO + Jet (тогда в запросе многие функции бейсика доступны, получится чуть ли не программа в одном запросе)
но для одного раза действительно не стоит огород городить.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.01 c
9-86606
Vetty
2002-07-27 18:31
2003.01.27
ДВИЖЕНИЯ!!!!!!!!!!!!!!!!!!!!!


14-87064
Tsr
2003-01-07 21:55
2003.01.27
Как добавить в TTreeView доп. параметр ?


1-86946
Smok_er
2003-01-17 01:02
2003.01.27
А как отправить окну сообщение о том,


1-86868
Думкин
2003-01-20 06:35
2003.01.27
Формы


3-86620
mate
2003-01-06 14:07
2003.01.27
DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский