Perguntas com a marcação «t-sql»

15
Decimal do SQL Server (9, 0) vs INT

Um de nossos clientes usa para algumas colunas o tipo de dados DECIMAL(18,0)em seu banco de dados SQL Server 2008R2. Como as colunas crescem muito lentamente, ele recentemente propôs alterar o tipo de dados DECIMAL(5,0)para recuperar algum armazenamento. De acordo com a biblioteca do MSDN , o...

14
Forçando um spool de índice

Sei que é algo que deve ser evitado por razões de desempenho, mas estou tentando mostrar uma condição em que aparece como uma demonstração de como garantir que não apareça. No entanto, acabo com um aviso de índice ausente, mas o otimizador escolhe não criar um índice temporário. A consulta que...

14
Transacionar SQL usando WITH no CREATE VIEW

Eu quero criar VIEW usando cláusulas WITH, mas realmente não consigo encontrar nenhuma referência na sintaxe correta. Eu quero algo assim WITH TempTbl AS (SELECT ...) CREATE VIEW SomeView SELECT * FROM TempTbl E qual é a sintaxe correta para usar várias cláusulas WITH? Nada útil no MSDN...

13
Auto-comparação de valor NULL em uma tabela

Estou sempre intrigado com algum comportamento misterioso do t-sql, como o seguinte -- Create table t and insert values. use tempdb CREATE TABLE dbo.t (a INT NULL); -- insert 3 values INSERT INTO dbo.t values (NULL),(0),(1); GO set ansi_nulls off -- purposely turn off, so we can allow NULL...

13
O que% nesta cláusula WHERE faz?

Estou treinando e um dos scripts tem o seguinte comando: SELECT SUM(Col2) FROM clust_table WHERE Col1 % 3 = 1 Gostaria de saber para que serve esse snippet na cláusula WHERE: Col1 % 3 = 1 Eu fiz algumas pesquisas na internet e não encontrei referências sobre esse

13
Por que uma CTE deve começar com ponto e vírgula?

Eu estava apenas olhando para um post no StackOverflow, em que Aaron Bertrand propõe o uso de uma CTE em vez de uma tabela de números, que é uma maneira elegante de executar a tarefa em questão. Minha pergunta é: por que a primeira linha do CTE começa com um ponto e vírgula? ;WITH n AS (SELECT...