Como se observa en el artículo [CODE] Cómo obtener la llave primaria de una tabla, es posible concatenar el resultado de una consulta en una variable, lo cual es especialmente útil en la generación de código dinámico:
declare @key varchar(8000) set @key = '' SELECT @key = @key + COALESCE(TABLE_NAME + ',' , '') from INFORMATION_SCHEMA.TABLES if len(@key) > 0 set @key = LEFT(@key,len(@key) - 1) --Eliminar la coma que sobra al final print @key
Se debe tener en cuenta que existen algunas limintantes, por ejemplo se debe considerar el tamaño máximo de la variable, que dependiendo de la versión de SqlServer puede ser 8000 y usando varchar(max) puede ser máximo de 2,147,483,647 caracteres
Es de notar que usar funciones CLR o funciones de texto avanzadas de SqlServer 2012 puede mejorarse el rendimiento de esta solución
Los comentarios son bienvenidos, espero sea de ayuda,