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

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

как умнее


Страницы:   1 2

Дева ©   (2006-07-31 15:12:00) 

Здравствуйте. В чем будет разница, если я добавляю в таблицу новую запись запросом с текстом "insert into......" или "Select * from......" с вызовом методов Insert.......Post (как методов набора данных). Как будет кмнее и правильнее


ЮЮ   (2006-08-02 03:27:00) [1]

В случае 2 пользоательский DataSet тоже увеличится на одну запись.
В случае 1 ему ничего не ведомо о вставке в таблицу записи и потребуется его переоткрывать.

Всё это, естественно, в случае если этот DataSet кому то нужен.

Если же это просто пакетная вставка данных из другого источника, или работа осуществляется без VCL DB-aware компонентов, т.е. TDataSet не нужен, достаточно  и 1


Sergey13   (2006-08-01 08:26:00) [2]

2 [24] Ega23 ©   (31.07.06 17:29)
> Может внатуре поспорим?  :)
Ну давай. 8-)
Для начала объясни, чем отличается 2 от 1 для СКЛ-сервера, если известно, что 2 транслируется в 1.


Anatoly Podgoretsky   (2006-07-31 20:10:00) [3]

Я возможно не точно понял вопрос, на всякий случай я говорю об следующих конструкциях:

INSERT INTO ... SELECT FROM ...
SELECT FROM ... INSERT INTO ...


Anatoly Podgoretsky   (2006-07-31 20:09:00) [4]

Дева ©   (31.07.06 15:12)  
Здравствуйте. В чем будет разница, если я добавляю в таблицу новую запись запросом с текстом "insert into......" или "Select * from......" с вызовом методов Insert.......Post (как методов набора данных). Как будет кмнее и правильнее

Разница большая,

первая вставляет в существую таблицу, не меняя ее структуры и индексов.

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

Первая по стандарту SQL-92


Ega23   (2006-07-31 17:29:00) [5]


> Sergey13 ©   (31.07.06 16:36) [23]


чё то мне сейчас шеф заданий накидал, настроение упало...
Может внатуре поспорим?  :)


Sergey13   (2006-07-31 16:36:00) [6]

> [21] Сергей М. ©   (31.07.06 16:30)

Да ей в
[4] Desdechado ©   (31.07.06 15:28)
уже все ответили самым наилучшим способом.


Плохиш   (2006-07-31 16:35:00) [7]


> Дева ©   (31.07.06 15:25) [3]
> Тогда зачем существуют вообще эти два способа? Оставили
> бы один... ?

В кафешку можно зайти как через парадный вход, так и через кухню. Будем закалачивать парадный вход?


Сергей М.   (2006-07-31 16:30:00) [8]


> Sergey13 ©   (31.07.06 16:28) [20]


)

Не надо девушке план.

Ей нужно описать кто/что она хочет в кон.итоге - в некоем ТЗ.


Sergey13   (2006-07-31 16:28:00) [9]

> [19] Сергей М. ©   (31.07.06 16:25)

У тебя настроение плохое?
Ты еще план выполнения запроса у девушки спроси. 8-))))


Сергей М.   (2006-07-31 16:25:00) [10]


> Дева ©   (31.07.06 16:21) [18]


Чем проще конечное выражение (для конкретного СУБД-парсера и СУБД-движка), тем и "умнее", тем и проще, тем и эффективней.

Не надо  месить в кучу кл. и серв. части.

Приводи цитату сиквел-выражения, НЕПОСРЕДСТВЕННО исполняемого серверной частью - тогда и разговор будет серьезным и предметным.


Дева   (2006-07-31 16:21:00) [11]

2 Ega23, ну не знаю английского, уж простите :-(
Что же непонятного я написала?
2 Сергей М. - нету кода, это был вопрос выбора. Просто в общих чертах


Sergey13   (2006-07-31 16:19:00) [12]

> [16] Сергей М. ©   (31.07.06 16:11)

Вставка идет в набор данных, который получается выборкой. Где тут противоречие?


Сергей М.   (2006-07-31 16:11:00) [13]


> Sergey13 ©   (31.07.06 16:04) [14]
> Об этом было дальше написано.


Вставка к выборке имеет весьма темное отношение (в условиях сиквел-сервера - особенно)


> Desdechado ©   (31.07.06 16:05) [15]
> Выражения выбирай.


Не заставляй меня цитировать не выбранные тобой выражения.


> Дева ©   (31.07.06 15:12)


Не сподобитесь ли, барышня. милостиво соизволить изложить здесь Код ?


Desdechado   (2006-07-31 16:05:00) [14]

Сергей М. ©   (31.07.06 15:58) [13]
Выражения выбирай.
И, если не можешь включить свой телепатор, используй общественный из предыдущих постов.


Sergey13   (2006-07-31 16:04:00) [15]

2 [13] Сергей М. ©   (31.07.06 15:58)
> Ну и какого хрена упоминается Select, НЕ имеющий НИ какого
> отношения ко вставке ?

Об этом было дальше написано. 8-)


Сергей М.   (2006-07-31 15:58:00) [16]


> Дева ©   (31.07.06 15:12)


Ты с дуба упала ?)


> я добавляю в таблицу новую запись запросом с текстом " insert


Да , это - предложение, реалилующее операцию вставки.


> или "Select * from.


Ну и какого хрена упоминается Select, НЕ имеющий НИ какого отношения ко вставке ?


Ega23   (2006-07-31 15:42:00) [17]


> Ega23, а по-русски?


А зачем???


Дева   (2006-07-31 15:41:00) [18]

Ega23, а по-русски?


Ega23   (2006-07-31 15:37:00) [19]


> Опять что ли спорить с тобой начать? 8-)


Не интересно.  :)
Всё равно к консенсусу не придём...  :)


Ega23   (2006-07-31 15:36:00) [20]


> что за UpdateSQL?


TUpdateSQL is an update component that uses SQL statements to update a dataset. You must provide one TUpdateSQL component for each underlying table accessed by the original query that you want to update.

Note: If you use more than one update component to perform an update operation, you must create an OnUpdateRecord event to execute each update component.

An update component actually encapsulates three TQuery components. Each of these query components perform a single update task. One query component provides an SQL UPDATE statement for modifying existing records; a second query component provides an INSERT statement to add new records to a table; and a third component provides a DELETE statement to remove records from a table.
When you place an update component in a data module, you do not see the query components it encapsulates. They are created by the update component at runtime based on three update properties for which you supply SQL statements:

ModifySQL specifies the UPDATE statement.
InsertSQL specifies the INSERT statement.
DeleteSQL specifies the DELETE statement.

At runtime, when the update component is used to apply updates, it:

1 Selects an SQL statement to execute based on the UpdateKind parameter automatically generated on a record update event. UpdateKind specifies whether the current record is modified, inserted, or deleted.
2 Provides parameter values to the SQL statement.
3 Prepares and executes the SQL statement to perform the specified update.


Страницы:   1 2

Наверх

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