This works in T-SQL. Not sure if it will work in Sybase...
CREATE TABLE #RecCounts (TableName varchar(100), RecCount int)
SELECT object_id INTO #Processed FROM sys.tables WHERE name = '(no such table)'
DECLARE @TableId int, @TableName varchar(255), @TableSchema varchar(100), @CountSQL varchar(255)
SELECT @TableId = MIN(object_id) FROM sys.tables WHERE type = 'U'
AND object_id NOT IN (SELECT object_id FROM #Processed)
SET @TableId = ISNULL(@TableId, -1)
WHILE @TableId > -1 BEGIN
PRINT @TableId
SELECT @TableName = name FROM sys.tables WHERE type = 'U' AND object_id = @TableId
SELECT @TableSchema = s.name, @TableName = t.name
FROM sys.Tables t
INNER JOIN sys.schemas s ON s.schema_id = t.schema_id
WHERE t.object_id = @TableId
SET @CountSQL = 'DECLARE @RecCount int
SELECT @RecCount = COUNT(*) FROM ' + @TableSchema + '.' + @TableName + '
INSERT INTO #RecCounts (TableName, RecCount) VALUES (''' + @TableName + ''', @RecCount)'
PRINT @CountSQL
EXEC(@CountSQL)
INSERT INTO #Processed (object_id) VALUES(@TableId)
SELECT @TableId = MIN(object_id) FROM sys.tables WHERE type = 'U'
AND object_id NOT IN (SELECT object_id FROM #Processed)
END
SELECT * FROM #RecCounts