Попробуйте для начала самым простым способом поглядеть результат.## Код:
```
MODULE PrivTest;

   IMPORT Log, SqlDB;
   
   PROCEDURE Do* (IN statement: ARRAY OF CHAR);
      VAR
         res: INTEGER; db: SqlDB.Database; tab: SqlDB.Table;
         row: SqlDB.Row; i, j: INTEGER;
   BEGIN
      SqlDB.OpenDatabase("driver", "id", "password", "database", SqlDB.sync, SqlDB.showErrors, db, res);
      ASSERT(res = 0, 0);
      tab := db.NewTable();
      ASSERT(tab # NIL, 0);
      tab.Exec(statement);
      ASSERT(tab.res = 0, 0);
      ASSERT(tab.columns > 0, 0);
      i := 0; tab.Read(i, row);
      WHILE tab.res # SqlDB.noData DO
         j := 0;
         WHILE j < tab.columns DO
            Log.String(row.fields[j]); Log.Tab;
            INC(j)
         END;
         Log.Ln;
         INC(i); tab.Read(i, row)
      END
   END Do;

   PROCEDURE Do1*;
   BEGIN
      Do('xxxx')   (* — в коде можно любую цепочку указать *)
   END Do1;
   
END PrivTest.

^Q PrivTest.Do1

^Q "PrivTest.Do('xxxx')" — тут только без кавычек

Чтобы передать параметр с кавычками, можно исп-ть
^Q  ert0devCommanders.ReadStrAndDo('PrivTest.Do') xxxx ~
```
Если ASSERT какой сработает, смотрите в документации постусловия соотв. процедуры.

Другие запросы результат дают?