Eu escrevi um procedimento armazenado que faz uso de uma tabela temporária. Eu sei que no SQL Server, as tabelas temporárias têm escopo de sessão. No entanto, não consegui encontrar informações definitivas sobre exatamente do que uma sessão é capaz. Em particular, se for possível que esse procedimento armazenado seja executado duas vezes simultaneamente em uma única sessão, um nível de isolamento significativamente mais alto será necessário para uma transação nesse procedimento devido às duas execuções que agora compartilham uma tabela temporária.
Início
/
user-91394
Trevor Giddings's questions
Trevor Giddings
Asked:
2016-04-06 17:03:32 +0800 CST
Tenho uma tabela em que uma das colunas pode ter entradas duplicadas e desejo condensar cada conjunto de duplicatas em uma única linha, com uma função de agregação aplicada às outras colunas. Não consigo pensar em uma explicação sensata para isso, então aqui está um exemplo de tabela de dados e tabela de resultados
+------------------------+--------------------+
| column_with_duplicates | column_to_aggregate|
+------------------------+--------------------+
| 1 | 1 |
| 1 | 2 |
| 2 | 3 |
| 3 | 4 |
| 3 | 5 |
| 3 | 6 |
+---------------------------------------------+
output
+------------------------+--------------------+
| column_with_duplicates | column_to_aggregate|
+------------------------+--------------------+
| 1 | 1.5 |
| 2 | 2 |
| 3 | 5 |
+---------------------------------------------+
Todas as linhas em que a média column_with_duplicates
foi calculada juntas em uma linha de resultado. O mesmo aconteceu para todos os valores de1
column_to_aggregate
column_with_duplicates
Como tive tanta dificuldade em descrever isso, não pude pesquisar efetivamente o assunto.