![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему не работает 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 работать с локальной базой считается западло?