Главная страница
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.048 c
10-1082362359
7th_Angel
2004-04-19 12:12
2005.02.06
Диаграммы в Excel


1-1106278856
Ната
2005-01-21 06:40
2005.02.06
Как динамически создать кнопку?


1-1106714824
AbramovVi
2005-01-26 07:47
2005.02.06
от Variant к обьекту


4-1103257108
DelphiN!
2004-12-17 07:18
2005.02.06
Как узнать путь к процессу ?


1-1106143457
Vera
2005-01-19 17:04
2005.02.06
Фиксированная форма