This might be what you are looking for
All statements are collected in a table, ordered by their point of insert (id is IDENTITY). It will be - for sure - no problem for you to build your second statement in the same way...
DECLARE @cmdTbl TABLE(id INT IDENTITY,cmd NVARCHAR(MAX));
INSERT INTO @cmdTbl(cmd)
SELECT 'TRUNCATE TABLE ' + QUOTENAME(t.TABLE_CATALOG) + '.' + QUOTENAME(t.TABLE_SCHEMA) + '.' + QUOTENAME(t.TABLE_NAME) + ';'
FROM INFORMATION_SCHEMA.TABLES AS t
WHERE t.TABLE_NAME LIKE '%RND%'
--After collecting all statements I use a CURSOR to execute them one after the other.
DECLARE @cmd VARCHAR(MAX);
DECLARE cur CURSOR FOR SELECT cmd FROM @cmdTbl ORDER BY id;
OPEN cur;
FETCH NEXT FROM cur INTO @cmd;
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @cmd;
--EXEC(@cmd); --For syntax check you start without EXEC...
FETCH NEXT FROM cur INTO @cmd;
END
CLOSE cur;
DEALLOCATE cur;