У меня есть потребность в некотором динамическом SQL для INSERT большого количества значений в базе данных.Эквивалент php mysql_real_escape_string
INSERT INTO table1 (a,b,c,d) VALUES (1,2,3,'string with possible quotes'),....
Поскольку я хочу вставить около 1000 рядов за партию, параметры на самом деле не являются опцией.
В php я бы использовал mysql_
lib и mysql_real_escape_string
, чтобы предотвратить ошибки и SQL-инъекции.
Как избежать значений строк в Delphi?
Хотя защита от SQL-инъекции является более распространенной причиной использования параметра еще одно преимущество заключается в том, что они сохраняют механизм БД от необходимости повторного анализа запроса каждый раз, когда он отправляется. Те же цели предназначены для дозирования. В любом случае, механизм БД может анализировать часть «INSERT ... VALUES» только один раз и повторно запускать ее с разными значениями. Поэтому, возможно, вам не нужно использовать расширение для вашей базы данных. параметры могут дать вам то же самое, не избегая всех ваших параметров или динамически генерируя SQL. –
@RobKennedy, Хорошо, я приурочил запрос в обоих направлениях. Основным фактором здесь был сетевой трафик, я думаю, именно поэтому пакет работал быстрее. – Johan