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

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

Почему не работает SQL запрос? [D7, Paradox]


Apophis ©   (2004-12-29 22:03:00) 

Имеем:
1) таблицу Paradox table1.db:
  f0 autoincrement
  f1 varchar(20)
  f2 varchar(20)
2) SQL:
  insert into table1 (f1, f2)
  select f1,f2 from table1;

Требуется:
1) Создать новую запись в таблице tabl1 из существующей. Другими словами, необходимо создать копию существующей записи.
2) При создании копии - изменить значение поля f1.

Проблема:при выполнении запроса ошибка "Capability not supported."

Вопрос:
1) Почему происходит ошибка?
2) Как реализвать то, что требуется без создания временных таблиц?

Спасибо.


Apophis   (2004-12-30 11:13:00) [1]

В принципе то, что я и ожидал. Все, тема закрыта! ВСЕМ спасибо!


Sandman25   (2004-12-30 09:57:00) [2]

Для Paradox одной операцией скопировать таблицу невозможно. Можно тремя операциями - скопировать таблицу под другим именем, вставить данные новой таблицы в старую, удалить новую таблицу.


Johnmen   (2004-12-30 09:23:00) [3]

>какой стандарт SQL используется в Delphi7?

Понимаешь, вопрос даже так не стоИт, какой стандарт.
Никакой...
А вопрос аналогичен "какая версия бейсика используется в Delphi7"
:)


ЮЮ   (2004-12-30 06:18:00) [4]

Что значит "копию", если f0 - автоинкремент, а "значение поля f1 надо изменить при записи"? Как именно надо изменить?

>необходимо создать копию существующей записи
Какой именно записи? В твоем запросе нет WHERE, т.е. твой запрос должен для каждой записи создать дубликат

>при выполнении запроса ошибка "Capability not supported."
Как выполняется запрос? Query.ExecSQL, где Query.SQL содержит указанный запос?


Apophis   (2004-12-30 02:01:00) [5]

2 Fay: Ну, допустим, типа "президент" Украины Ющ куда страшнее данного топика, расслабся!:)

Я тут только что книжку одну умную почитал, в связи с чем возник вопрос: какой стандарт SQL используется в Delphi7? Если SQL1, то первоначальный вопрос снимается, так как в этой реализации "самодобавление" в одну и ту же таблицу запрещено. Если SQL2 - почему не работает?


Fay   (2004-12-30 01:29:00) [6]

Anatoly Podgoretsky ©   (29.12.04 23:58) [6]
Ужас какой!!!


Apophis   (2004-12-30 01:28:00) [7]

Ну, с varchar-ом это я по инерции написал, - Alphanumeric. А что пояснять-то? Поясняю: нужно создать копию записи из существующей таблицы в ЭТОЙ же таблице посредством SQL запроса.  Структура таблицы - в вoпросе.


Anatoly Podgoretsky   (2004-12-29 23:58:00) [8]

varchar для Парадокса не поддержан


Johnmen   (2004-12-29 23:56:00) [9]

>Apophis ©  (29.12.04 23:53) [4]

тогда поясни

>необходимо создать копию существующей записи.


Apophis   (2004-12-29 23:53:00) [10]

Johnmen
Пробовал, ошибка та же. Плюс, f0 - автоинкрементное. Поэтому я в вопросе указывал поля без f0.


Johnmen   (2004-12-29 23:41:00) [11]

insert into table1 (f0, f1, f2)
select 0, f1, f2 from table1;


Apophis   (2004-12-29 23:11:00) [12]

Fay ©
Ну вот зачем сразу так отвечать? Я задал конкретный четкий вопрос, а западло или не западло - это, возможно, другой вопрос.


Fay   (2004-12-29 22:30:00) [13]

А без SQL работать с локальной базой считается западло?


Наверх

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