Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

Почему не работает SQL запрос?   Найти похожие ветки 

 
Apophis ©   (2004-12-29 22:03) [0]

Имеем:
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) Как реализвать то, что требуется без создания временных таблиц?

Спасибо.


 
Fay ©   (2004-12-29 22:30) [1]

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


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

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


 
Johnmen ©   (2004-12-29 23:41) [3]

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


 
Apophis ©   (2004-12-29 23:53) [4]

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


 
Johnmen ©   (2004-12-29 23:56) [5]

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

тогда поясни

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


 
Anatoly Podgoretsky ©   (2004-12-29 23:58) [6]

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


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

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


 
Fay ©   (2004-12-30 01:29) [8]

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


 
Apophis ©   (2004-12-30 02:01) [9]

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

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


 
ЮЮ ©   (2004-12-30 06:18) [10]

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

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

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


 
Johnmen ©   (2004-12-30 09:23) [11]

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

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


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

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


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

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



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

Текущий архив: 2005.02.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.031 c
11-1085667916
Kubr
2004-05-27 18:25
2005.02.06
KOL не ставится на Delphi 2


4-1102672210
Steepe Wolf
2004-12-10 12:50
2005.02.06
Перехват данных с COM - порта


10-1082634466
Fbin
2004-04-22 15:47
2005.02.06
1c транзакции


1-1106574983
Knight
2005-01-24 16:56
2005.02.06
Кто-нибудь пробовал использовать в программах вращение формы?


1-1106718028
Maria
2005-01-26 08:40
2005.02.06
работа с документом Ворд