Pergunta

Como verificar se uma tabela contém linhas ou não o SQL Server 2005?

Foi útil?

Solução

Para qual propósito?

  • Mais rápido para um se seria IF EXISTS (SELECT * FROM Table)...
  • Para um conjunto de resultados, SELECT TOP 1 1 FROM Table Retorna zero ou uma linhas
  • Por exatamente uma linha com uma contagem (0 ou diferente de zero), SELECT COUNT(*) FROM Table

Outras dicas

Além disso, você pode usar existe

select case when exists (select 1 from table) 
          then 'contains rows' 
          else 'doesnt contain rows' 
       end

Ou para verificar se há linhas infantis para um registro específico:

select * from Table t1
where exists(
select 1 from ChildTable t2
where t1.id = t2.parentid)

ou em um procedimento

if exists(select 1 from table)
begin
 -- do stuff
end

Como outros disseram que você pode usar algo assim:

IF NOT EXISTS (SELECT 1 FROM Table)
  BEGIN 
    --Do Something
  END 
ELSE
  BEGIN
    --Do Another Thing
  END

Para o melhor desempenho, use o nome específico da coluna em vez de * - por exemplo:

SELECT TOP 1 <columnName> 
FROM <tableName> 

Isso é ideal porque, em vez de devolver toda a lista de colunas, está retornando apenas uma. Isso pode economizar algum tempo.

Além disso, retornar apenas a primeira linha se houver algum valores, a torna ainda mais rápida. Na verdade, você tem apenas um valor como resultado - se houver alguma linha ou nenhum valor se não houver linhas.

Se você usar a tabela de maneira distribuída, o que provavelmente é o caso, do que transportar apenas um valor do servidor para o cliente é muito mais rápido.

Você também deve escolher com sabedoria entre todas as colunas para obter dados de uma coluna que pode ter o menor recurso possível.

Você não pode simplesmente contar as linhas usando select count(*) from table (ou uma coluna indexada em vez de * se a velocidade for importante)?

Se não então talvez Este artigo pode apontar você na direção certa.

Bem, em vez de ter um URL separado além do título, usei URL de título para a Web Part que hospeda o Scorecard.Portanto, na figura acima no topo, se eu clicar em Projeto de Vale do Kathmandu , isso levará para a página do SharePoint desejada.

Abaixo estão as etapas necessárias para editar o URL do título da Web Part.

    .
  1. Clique em Editar Web Part.
  2. expanda seção avançada.
  3. Preencha o valor para o URL do título.

    Isso me deu uma maneira alternativa de alcançar meu propósito de redirecionar para a página resumida do scorecard.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top