我使用Delphi 2010和UIB访问Firebird数据库。 RECID WHERE ((:DX = '') OR (DX=:DX))
AND ((:POSTCODE='') OR当我在一个TUIBQuery中准备它时,我会得到ParamCount=2和两个名为DX的参数。当我跟踪代码时,我看到TSQLParams.Parse经过我的SQL并四次调用AddFi
UPDATE TABLE SET SOMETHING = 1 WHERE ID IN (SELECT ID FROM STORED_PROCEDURE)来自存储过程的记录= 50该语句引用了大量的fetches (31M!)在firebird 2.5服务器上。为什么?它不是应该先从存储过程中选择id,然后把它放在where子句中吗?我该怎么做才能让它工作呢?