Проблема с ColdFusion cfqueryparam и сложным запросом
У меня есть запрос, где я вставляю ~300 записей, используя один запрос на вставку. Для каждой записи я должен делать замены и операции над данными. Я только что узнал, что теперь я должен использовать cfqueryparam, потому что одна из записей - это CLOB и она достигает большого размера. Я использовал строку для формирования запроса и поместил строку в тег cfquery. Теперь я не могу этого сделать, потому что вы должны использовать PreserveSingleQuotes, чтобы поместить строку var в тег cfquery, и вы не можете использовать PreserveSingleQuotes с cfqueryparam. Так лучше ли мне делать все операции и циклы внутри тега cfquery? Сможет ли он справиться с этим? Или мне придется сделать 1000 отдельных операторов вставки? Есть идея получше? Благодарю.
2 ответа
Если вы делаете только PreserveSingleQuotes, то приведенный выше ответ работает.
Если вы выполняете сложные манипуляции, то выполняйте свои операции над данными вне cfquery и сохраняйте правильные значения в массиве.
Внутри cfquery, переберите массив и поместите значения в cfqueryparam.
<cfqueryparam value="#PreserveSingleQuotes(whatever)#" CFSQLType="CF_SQL_CLOB" />
Должен работать в CFQUERY.