Форум: "Начинающим";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
ВнизДобавление записей через запрос из одной таблицы в другую Найти похожие ветки
← →
VOPROS (2007-01-09 14:29) [0]Доброго времени суток, уважаемые Мастера!
Таблицы Foxpro, ADOQuery
Таблица2 имеет несколько полей, совпадающие с полями таблицы 1, + свои собственные поля, которых нет в таблице 1
Из таблицы1 в таблицу2 добавляю записи, пишу так:INSERT INTO table2 (bzv,bzv1,bzs) SELECT bzv,bzv1,bzs FROM table1
В этом случае выходит ошибка "Field ... does not accept null values", при этом Field - это собственное поле таблицы 2.
Тогда пишу так:INSERT INTO table2 (bzv,bzv1,bzs,pole) SELECT bzv,bzv1,bzs,"""" as pole FROM table1
Вообщем, пришлось перечислить таким образом все поля, которых не было в первой таблице. Работает. НО - такие поля числового типа получают значение нуля, мне же необходимо, чтоб они были пустыми. Как это можно сделать?
Прошу помочь. Спасибо.
← →
Ega23 © (2007-01-09 14:34) [1]см. свойство колонки. если оно not null - ты там вообще null-значение никогда не получишь.
Иначе:INSERT INTO table2 (bzv,bzv1,bzs,pole) SELECT bzv,bzv1,bzs,null as pole FROM table1
← →
VOPROS (2007-01-10 06:20) [2]
> см. свойство колонки. если оно not null - ты там вообще
> null-значение никогда не получишь.
вот именно - такое свойство не установлено. Вообще я пишу маленькую примочку к одной программе без исходников, помогающую скидывать не одну, а несколько таких таблиц 1 - сама программа может закидывать только одну таблицу и при этом в полях таблицы 2, которых нет в первой, значения пустые (проверялось не только на глаз, но и запросом) ???
> Иначе:
> INSERT INTO table2 (bzv,bzv1,bzs,pole) SELECT bzv,bzv1,bzs,
> null as pole FROM table1
Уже было опробовано - в таком случае ругается "SQL: can not determine datatype of sql column pole" ???
← →
Ega23 © (2007-01-10 09:28) [3]Ошибка "Field ... does not accept null values" плохо сочетается с
> вот именно - такое свойство не установлено.
← →
Desdechado © (2007-01-10 11:27) [4]> can not determine datatype of sql column pole
CAST( null AS NUMBER ) AS pole
PS а вообще явные противоречия в вопросах
темнить долго будешь?
← →
VOPROS (2007-01-11 13:39) [5]
> > can not determine datatype of sql column pole
> CAST( null AS NUMBER ) AS pole
и опять же "Field ... does not accept null values"
> Ошибка "Field ... does not accept null values" плохо сочетается
> с
> > вот именно - такое свойство не установлено.
прекрасно это понимаю, вообще свойства полей проверялись черех tabledesigner FoxPro, там ничего не помечено, посоветуйте, где еще можно глянуть. В любом случае я не понимаю, как человек, писавший ту программу, смог все же закинуть данные из 1 таблицы, оставив при этом pole пустым??? И как сделать это мне?
← →
Desdechado © (2007-01-11 13:43) [6]Что-то я не припоминаю, чтобы в фоксе было возможно поставить ограничение NOT NULL на поле.
Может, ты в подключении намудрил или провайер такой?
← →
VOPROS (2007-01-11 14:09) [7]
> Что-то я не припоминаю, чтобы в фоксе было возможно поставить
> ограничение NOT NULL на поле.
вообще-то там есть свойство NULL, но в результате экспериментов оно показало, что не является ограничением
> Может, ты в подключении намудрил или провайер такой?
в подключении только путь к каталогу с таблицами, режим ReadWrite и Loginprompt=false, остальное по умолчанию. Провайдер Microsoft OLE DB Provider for Visual FoxPro 9.0 ???
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.052 c