bdfyy
Дата: 04.07.2012 15:05:28
Сам участок процедуры:
......
for select A.DATA
from ISAPOUSTTEXT A
inner join RESOURCES B on (B.ID = A.RESOURCE) and (B.CARDID = :PLCID) and (B.ID > 0) and (A.ENABLED <> 0)
inner join ISAPOU C on (C.ISAOBJID = A.ISAOBJID) and (C.LANGUAGE = 2)
into :DATA
do begin for select distinct A.ID, A.NAME, B.LANGUAGE, B.LOCALIZATION, B.IN_NBR, B.OUT_NBR, B.LOCAL_NBR, 0, A."ORDER", 5, D.OBJTYPEID
from ISAOBJ A
inner join ISAPOU B on (B.ISAOBJID = A.ID) and (A.KINDOBJ = 5)
inner join ISALIBTOTARGETS C on C.ISALIBID = A.LIBID
inner join CARDS D on (D.OBJTYPEID = C.OBJTYPEID) and (D.ID = :PLCID)
where :DATA similar to '%[^A-Z_a-z0-9]' || A.NAME || '\(%' escape '\' <<<<<<<ошибка здесь при компиляции!!!!!!!!!
into :ID, :NAME, :LANGUAGE, :LOCALIZATION, :IN_NBR, :OUT_NBR, :LOCAL_NBR, :IS_INIT, :"ORDER", :KIND, :PLCTYPEID
do begin suspend;
for select distinct ID, NAME, LANGUAGE, LOCALIZATION, IN_NBR, OUT_NBR, LOCAL_NBR, IS_INIT, "ORDER", KIND
from GETUSEDTYPEFORCOMPILER2(:PLCTYPEID, :ID, :KIND)
into :ID, :NAME, :LANGUAGE, :LOCALIZATION, :IN_NBR, :OUT_NBR, :LOCAL_NBR, :IS_INIT, :"ORDER", :KIND
do suspend;
end
end
.......
если запустить отдельно то работает корректно, а если из вот такой процедуры
......
for select distinct A.ID, A.NAME, A.LANGUAGE, A.LOCALIZATION, A.IN_NBR, A.OUT_NBR, A.LOCAL_NBR, A.IS_INIT, A."ORDER", A.KIND
from GETUSEDTYPEFORCOMPILER1(:PLCID) A
order by A.NAME
into :ID, :NAME, :LANGUAGE, :LOCALIZATION, :IN_NBR, :OUT_NBR, :LOCAL_NBR, :IS_INIT, :"ORDER", KINDRES
do suspend;
......
то падает выполнение с except`ном