"localhost:/firebird/data/ILICHEVSK2.FDB". Процедуры Previous topic Chapter index Next topic

OBJECTS_GET_CHILD

 

Входные параметры

Параметр

Тип

Описание

PARENTOBJID

INTEGER

 

 

Выходные параметры

Параметр

Тип

Описание

OBJID

INTEGER

 

OBJPARENTID

INTEGER

 

OBJNAME

VARCHAR(31)

 

CAPTION

VARCHAR(51)

 

OBJCLASSID

INTEGER

 

OBJPARAMS

VARCHAR(255)

 

 

Описание

Развращает список обэктов принадлещащих данному

 

Определение

CREATE PROCEDURE OBJECTS_GET_CHILD(
    PARENTOBJID INTEGER)
RETURNS (
    OBJID INTEGER,
    OBJPARENTID INTEGER,
    OBJNAME VARCHAR(31),
    CAPTION VARCHAR(51),
    OBJCLASSID INTEGER,
    OBJPARAMS VARCHAR(255))
AS
begin
  for
    select OBJECTS.OBJID, OBJECTS.OBJCLASSID, OBJECTS.OBJNAME,
        OBJECTS.CAPTION, OBJECTS.OBJPARAMS
      from OBJRELATIONS
        left join OBJECTS on (OBJECTS.OBJID = OBJRELATIONS.OBJID)
      where (OBJRELATIONS.PARENTOBJID = :PARENTOBJID)
    order by OBJRELATIONS.OBJRELATIONID
    into :OBJID, :OBJCLASSID, :OBJNAME, :CAPTION, :OBJPARAMS

  do begin
    OBJPARENTID = :PARENTOBJID;

    suspend;

    if (:OBJCLASSID = 2) then begin
      OBJPARENTID = :OBJID;

      for
        select OBJECTS_GET_CHILD.OBJID, OBJECTS_GET_CHILD.OBJCLASSID,
            OBJECTS_GET_CHILD.OBJNAME, OBJECTS_GET_CHILD.CAPTION,
            OBJECTS_GET_CHILD.OBJPARAMS
          from OBJECTS_GET_CHILD(:OBJID)
        into :OBJID, :OBJCLASSID, :OBJNAME, :CAPTION, :OBJPARAMS

      do
        if (not(:OBJID is null)) then
          suspend;
    end
  end
end

 

     Previous topic Chapter index Next topic