Страница 19 из 19
Re: Прямой SQL
Добавлено: 13 окт 2016, 14:16
RAJAH
Может, тогда sqlFreeStr(StmtString) ... sqlExecDirect(StmtString)?
Re: Прямой SQL
Добавлено: 13 окт 2016, 14:26
savov
Так там есть sqlFreeStmt(StmtString) . Просто он в первом окошке. А sqlExecDirect(StmtString) я пробовал, такая же картина. Или я не понимаю что вы имеете в виду?
Re: Прямой SQL
Добавлено: 13 окт 2016, 15:36
RAJAH
Эти операторы для разных типов хэндлов.
Re: Прямой SQL
Добавлено: 13 окт 2016, 15:39
savov
и тогда StmtString := sqlAllocStmt;?
Re: Прямой SQL
Добавлено: 13 окт 2016, 15:52
RAJAH
Цитата из работающего frm-отчёта:
Код: Выделить всё
SQLFreeStr(qstr);
SQLAddStr(qstr, 'insert uzpod(fur, fnr)');
sqlAddStr(qstr, 'select '+string(ur)+', catalogs.nrec');
sqlAddStr(qstr, 'from catalogs');
sqlAddStr(qstr, 'inner join uzpod on catalogs.cparent = uzpod.fnr and uzpod.fur = '+string(ur-1));
SQLExecDirect(qstr);
Re: Прямой SQL
Добавлено: 13 окт 2016, 17:15
savov
Rajan, спасибо, но дело оказалось не в бобине....как обычно.
ПО логу Оракла увидел, что запись не идет из-за наличия пустых значений при вставке. Проверил TOAD-ом, действительно так, поля в созданной временной таблице оказались NOT NULL. Как-то можно при создании таблицы указать, что поле может быть NULL?
Re: Прямой SQL
Добавлено: 14 окт 2016, 11:42
sth73
savov писал(а):Rajan, спасибо, но дело оказалось не в бобине....как обычно.
ПО логу Оракла увидел, что запись не идет из-за наличия пустых значений при вставке. Проверил TOAD-ом, действительно так, поля в созданной временной таблице оказались NOT NULL. Как-то можно при создании таблицы указать, что поле может быть NULL?
попробуйте использовать coalescen
в доке по випу есть описание
Re: Прямой SQL
Добавлено: 14 окт 2016, 14:48
savov
Спасибо. Решил по простому: вместо значения '' использовал значение ' '.