Та это всё ерунда. Если делать, то надо ООП тулить.
Например интерфейсы для таблиц:

CREATE INTERFACE IParent
(
        Id INTEGER NOT NULL PRIMARY KEY,
        Parent INTEGER REFERENCEC(Id)
)

А потом что-то типа

1) CREATE TABLE Catalog : IParent;

2) CREATE PROCEDURE GetHierarchy<IParent>
   (
     Id INTEGER
   )
   RETURNS IParent
   AS ...

3) DECLARE CURSOR MyCursor IParent;

   MyCursor = (IParent) Catalog;


При этом все конструкции остаются типизированными :-)
Я хотел было предложить такое в трекер, но потом подумал что смысла нет ибо всё равно ведь не сделают :-(

Ответить