Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.11.2013
Сообщений: 26

Вставка записей в ДБФ-таблицу посредством использования оператора СЕЛЕКТ

28.04.2014, 19:34. Показов 986. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Созданную предварительно пустую dbf-таблицу собираюсь заполнить данными нескольких "селектов". Для добавления записей в данную таблицу пользуюсь стандартной схемой:

INSERT INTO <имя таблицы>
(<Список полей>)
Оператор SELECT;

Вопрос: можно ли при этом в составе оператора SELECT, в перечне полей,которые он выводит, использовать агрегативные ф-ции, например, COUNT() ? Если я ее не использую, у меня все работает нормально. Но если я ее включаю, выдается ошибка о несоответствии типов: Type mismatich expression. Полагая, что COUNT() выдает величины целого типа, я пытался "подогнать" под него тип поля в таблице, куда должен быть помещен результат. Пробовал NUMERIC, INTEGER (хотя дбф такое не знает!),....но ничего не помогает... В книжках относительно сего ничего найти пока не получилось....
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.04.2014, 19:34
Ответы с готовыми решениями:

Вставка записей в таблицу
Всем привет. Помогите разобраться с sql запросом для вставки записей в таблицу. Есть БД firebird, есть таблица ttt в ней два поля 1-nn...

Вставка 3 записей в таблицу
помогите,вставить 3 строки,2 вставляет а 3ью - нет. https://yadi.sk/d/WF0xXWWP3HCRvF

Вставка уникальных записей в таблицу
Здравствуйте! Подскажите, пожалуйста, как избежать повторов при вставке в таблицу по заданному полю? То есть, я вставляю данные в таблицу с...

4
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
29.04.2014, 09:22
А ты этому COUNT алиас назначаешь?
0
0 / 0 / 0
Регистрация: 02.11.2013
Сообщений: 26
30.04.2014, 10:30  [ТС]
Да, я пробовал использовать COUNT() c опцией AS и без нее. Причем в качестве алиаса использовал и имя столбца, в к-рый нужно было вставлять данные. :-) Эффект одинаковый: "Type mismatchin expression." Прочие данные, к-рые генерирует SELECT, в исходную таблицу переносятся нормально (т.е. когда ф-ция COUNT() в перечне получаемых "селектом" данных отсутствует)....Другие агрегативные ф-ции я не пробовал...

Добавлено через 23 часа 11 минут
Вопрос о возможности использовании СOUNT() в операторе SELECT при включении его в INSERT INTO остался открытым, но я "выкрутился" через построчную вставку записей в таблицу в цикле по количеству записей. Т.е. сначала отдельно "селектом" выделил нужные записи, а потом их переносил в конечную таблицу строкой VALUES() оператора INSERT INTO.
Но при этом также столкнулся с любопытным моментом, к-рый ,быть может, покажется интересным еще кому-либо. В переносимых записях присутствовало десятичное число с несколькими значениями в дробной части. В используемых мной ДБФ-таблицах в качестве разделителя целой и дробной части использовался символ запятой "," . И если упомянутый выше оператор SELECT на этот момент "не обращал внимания", выбирал требуемые условием записи, то оператор INSERT INTO со строкой VALUES() добавлять в таблицу такие числа отказывался, выдавал ошибку!....Пришлось функционально заменять разделитель на символ точки ".", после чего такое число "инсертом" нормально добавлялось в конечную таблицу, и при этом разделитель вновь, уже "самостоятельно", заменялся на запятую....

Опыт работы с С++ у меня небольшой,поэтому мне все это и показалось в диковинку. Возможно, что SQL-операторы запятые обычно "воспринимают" как разделители в своем синтаксисе, и по сему "не захотели" видеть их в числовых величинах....
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
01.05.2014, 12:16
vylv, а попробуй сделать по такому принципу
SQL
1
2
3
SELECT POLE1, POLE2
INTO NEW_TABLE
FROM OLD_TABLE
0
0 / 0 / 0
Регистрация: 02.11.2013
Сообщений: 26
02.05.2014, 11:45  [ТС]
Увы...

Invalid ise keywords
Token: INTO
Line Number: 2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.05.2014, 11:45
Помогаю со студенческими работами здесь

Вставка набора записей в таблицу
Проблема в следующем, поочереди с десятка баз данных получаю через SQL отфильтрованные по дате наборы записей и все эти наборы сливать в...

Вставка записей в таблицу связанную с другой
Хочу вставить данные с помощью запроса. Две таблицы: spe******t-dogovor (1:М). Связаны по полям id_spec = id_dog_spec . Но не будет же...

Вставка записей в таблицу Access через VB6
Всем добрый день! Уважаемые, нужна ваша помощь. Возникла такая проблема. В разработке для ввода данных в таблицу использую...

вставка большого количества записей в таблицу Word
Здравствуйте. Используя OLE Word Automation, можно ли вставить в таблицу большое количество записей (~20000)? А то ежели построчно...

вставка строк в дбф через делфи
необходимо вставить какое-то кол-во строк в таблицу дбф. Вставляет только то кол-во строк, которое уже имеется в таблице, то есть если в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru