Проблема редактирования view через ODAC

ABV
Дата: 28.09.2004 16:49:46
Есть следующее view:
CREATE OR REPLACE FORCE VIEW MINSK.Z_ABDPL
(NWELL, NWELL_ID, PLAST, PLID, KROW, 
 PODOSH, GRUPPA, MEF, POR, NNAS, 
 PRONFAZ, PRONABS, MNEFT, MVODA, GLIN, 
 PR, FOND, SORTPL)
AS 
SELECT
    B.NWELL, A.NWELL_ID, A.PLAST, A.PLID, A.KROW, A.PODOSH, A.GRUPPA, A.MEF, A.POR, A.NNAS, A.PRONFAZ, A.PRONABS, A.MNEFT, A.MVODA, A.GLIN, A.PR, 
	(SELECT FOND FROM MINSK.ALLFND F WHERE (DATECR=variable_pkg.f_GetDateCr) AND (F.NWELL_ID=A.NWELL_ID) AND (F.PLAST=A.PLAST)) as FOND, SORTPL
  FROM
    MINSK.ALLPL A, MINSK.WELLNAME B, MINSK.SORTPLAST S
  WHERE
    A.NWELL_ID=B.NWELL_ID
    AND A.NWELL_ID IN (SELECT W.NWELL_ID FROM MINSK.WELLLIST W WHERE W.OBJCODE=GETOBJECTCODE('ABD'))
    AND (A.PLAST IN (SELECT OILSINDEX FROM MINSK.PLSPR WHERE MEST=GETMESTBYOBJECTNAME('ABD')
          AND ELPM_ID=GETAREABYOBJECTNAME('ABD') UNION SELECT ЭЛРГ_ЭЛРГ_ID FROM MINSK.V_PLAST_SPR WHERE ЭЛРГ_ID IN
        (SELECT OILSINDEX FROM MINSK.PLSPR WHERE MEST=GETMESTBYOBJECTNAME('ABD') AND ELPM_ID=GETAREABYOBJECTNAME('ABD'))
          AND ВЭЛР_ВЭЛР_ID = CONST_PKG.F_PLASTCODE) OR VARIABLE_PKG.F_ISSHOWALLPLASTS = 1)
    AND A.PLAST=S.PLAST;
Для того, чтобы оно нормально редактировалось, на view повешены триггеры.
Но при его редактировании используя TSmartQuery выдается exception ODac: "Нельзя выбрать FOR UPDATE в представлении с DISTINCT, GROUP BY, и т.д". Опытным путем выяснилось, что проблема из-за столбца Fond, если его убрать, view становится редактируемым. Вопрос, как его сделать редактируемым, не убирая столбец :) ?
PS. То же view прекрасно редактируется через Delphi c использованием BDE. Но BDE использовать как-то не хочется.
Elic
Дата: 28.09.2004 18:13:56
Попробуй выставить TSmartQuery.LockMode := lmNone
ABV
Дата: 28.09.2004 20:11:08
Спасибо, действительно помогло.