Is creating a table dynamically at runtime based on a user\'s interactions a good or bad thing for a web-app? (I\'m talking java, but question probably applies to more).
As for SQL-Server, it's a very common practice to create temp-tables, table variables, use table-valued functions, etc. For example, it would be done in a database stored procedure that is called by your web application.
There is no hard and fast rule that I know if that says it's good or bad -- depends on the situation.