Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Duvida - IF

Bom dia,

Com relação a utilização do IF, onde durante a aula, em determinado momento foi usando o seguinte script:

IF OBJECT_ID('TABELA_TESTE', 'U') IS NOT NULL 
    BEGIN 
        DROP TABLE TABELA_TESTE
    END
CREATE TABLE TABELA_TESTE (ID VARCHAR(10))

Minha duvida é na expressão:

IF OBJECT_ID ('TABELA_TESTE', 'U') IS NOT NULL

Nesse caso, se ele não encontrar a tabela criada, ele não deveria fazer nada, correto?

Pois ao rodar esse script, mesmo com a tabela não criada ele acaba criando, por que?

Entendo que correto seria apenas criar se ele encontrar a TABELA_TESTE , dropando a tabela existente e criando novamente, correto?

Além disso, nesse caso a melhor for de escrever o script não deveria ser assim:

IF OBJECT_ID('TABELA_TESTE', 'U') IS NOT NULL 
    DROP TABLE TABELA_TESTE
ELSE
    CREATE TABLE TABELA_TESTE (ID VARCHAR(10))
2 respostas
solução!

Oi Ricardo.

O IF esta para o BEGIN;END.

Tudo depois do begin;end sera executado normalmente. Se você tem um codigo muito grande, onde o if faz muita coisa, é sempre bom colocar clausulas de begin e end, para saber o que esta acontecendo.

Olá Rafael Piccineli,

Muito obrigado