Como controlar a capacidade de anulação em SELECT INTO para colunas baseadas em literais
Eu estou percebendo que quando eu uso esta declaração,Action
a coluna não é anulável:
SELECT TOP 0 SerialNumber, 0 [Action] INTO #MyTable FROM FSE_SerialNumber
Mas quando eu uso essa declaração, oAction
a coluna é anulável:
SELECT TOP 0 SerialNumber, CAST(0 as int) [Action] INTO #MyTable FROM FSE_SerialNumber
Meu motivo para criar a tabela dessa maneira é porque não quero que a tabela temporária herde o agrupamento de SerialNumber do agrupamento padrão do servidor ou em outro local. Eu quero que corresponda ao agrupamento de FSE_SerialNumber..SerialNumber.
Minha pergunta é, posso confiar na função de elenco que me dá uma coluna anulável, ou isso não está claramente definido e pode mudar. Por que o elenco torna a coluna anulável? Existe uma maneira melhor (além de comentários) para esclarecer que minha intenção é obter uma coluna anulável lá?