Como posso expandir uma linha em um conjunto de resultados de várias linhas?

Eu tenho uma tabela que estou tentando dividir cada linha em uma ou mais linhas com base no valor da segunda coluna. Como isso:

table (id, pcs):
ABC   3
DEF   1
GHJ   4

query result (id, pcs_num):
ABC   1
ABC   2
ABC   3
DEF   1
GHJ   1
GHJ   2
GHJ   3
GHJ   4

Estou escrevendo isso como um sproc no SQL Server 2008. Minha melhor solução é usar um cursor e adicionar [pcs] número de linhas a uma tabela temporária para cada linha na tabela. Parece que deve haver uma solução mais simples do que esta que estou perdendo. Obrigado.

questionAnswers(3)

yourAnswerToTheQuestion