Como você provavelmente já sabe, você não pode criar uma tabela em um banco de dados se uma tabela com um nome semelhante existir no banco de dados. Para superar isso, você pode verificar se a tabela se existe e, se verdadeira, solte a tabela e crie uma nova tabela.
Neste artigo, você aprenderá a usar operações condicionais do SQL. Discutiremos como verificar se existe uma tabela e, se for verdade, solte -a.
Requisitos
Testamos e implementamos os exemplos em uma instância do SQL Server neste guia. Se você deseja reproduzir um ambiente semelhante, certifique -se de ter:
Depois de ter os requisitos especificados acima, podemos prosseguir com o tutorial.
Fundamentos
Antes de aprendermos a adicionar lógica condicional antes de soltar uma mesa, vamos ver o que acontece quando você tentar soltar uma tabela inexistente em um banco de dados.
Considere a consulta de exemplo abaixo:
Use salesdb;Se tentarmos executar a consulta acima, o SQL Server retornará um erro MSG 3701:
Lógica da condição - Método 1
O primeiro método que você pode usar quando precisar excluir uma tabela se existir é a queda se existe consulta. Esta consulta está disponível apenas na versão 2016 do SQL Server e superior.
A sintaxe é como:
Tabela de soltar [se existir] DB_NAME.schema_name.tbl_name;A consulta verificará se a tabela existe e, se verdadeira, solte -a; Caso contrário, ignore a declaração de queda.
Por exemplo:
Use salesdb;Se a tabela existir, o SQL tentará abandoná -la.
Lembre -se de que as regras do SQL para soltar uma tabela ainda se aplicam, mesmo ao usar a queda se existe consulta.
Método 2 - ID do objeto
O segundo método é usar a função object_id (). A função retorna um ID de objeto se o nome especificado existir.
O código de exemplo abaixo mostra como usar a função object_id () para adicionar lógica condicional ao excluir uma tabela.
Use salesdb;Você pode aprender mais sobre a função object_id () no recurso abaixo:
SQL Server Object_Id () Função DOCS.
Método 3 - Esquema de informações
Também podemos usar o esquema de informações do servidor SQL para consultar se houver uma tabela. Um exemplo de consulta é como mostrado abaixo:
Use salesdb;No exemplo acima, usamos o esquema de informações para verificar se existe uma tabela especificada.
Fechamento
Usando este guia, você descobriu várias maneiras de adicionar lógica condicional ao soltar uma tabela no SQL Server. A adição de declarações condicionais permite evitar erros em scripts SQL automatizados.