DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login

IF-THEN-ELSE, BEGIN-END, COMENTARIOS no Firebird

Veja nesta Quick como utilizar IF-THEN-ELSE, BEGIN-END, COMENTARIOS no Firebird.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo

Olá galera, nesta Quick Tips, irei mostrar como podemos trabalhar comentários, BEGIN-END, IF-THEN-ELSE no Firebird.

            A linguagem que utilizamos em Stored Procedure e Trigger possuem todas as instruções que temos em linguagem de programação, assim como Delphi, Java, C#, entre outras, veja estas comparações.

 

Comentários
            Como o próprio nome já diz é um comentário, um lembrete, ou uma forma de documentar uma Stored Procedure, Trigger ou um trecho de código. Sendo ignorado e não compilado por tanto podemos escrever qualquer informação em um comentário, veja a sintaxe:

 

/* Este é um exemplo de comentário em Firebird

Podemos incluir quantas linhas forem necessárias*/

SELECT NOME, SEXO, IDADE, CPF, RG

FROM CLIENTE

WHERE IDCLIENTE = 1

 

 

-- Este comentário funciona apenas para uma linha

SELECT NOME, SEXO, IDADE, CPF, RG

FROM CLIENTE

WHERE IDCLIENTE = 1

 

 

BEGIN-END

            Esta linguagem utilizada Stored Procedure e Trigger, é bem parecida com o Pascal, em alguns aspectos como While, Begin e End, IF-THEN-ELSE, por exemplo.        Assim como em Pascal, a utilização de BEGIN e END, indica um agrupamento de linha de códigos, veja a sintaxe:

 

BEGIN 
 IF (state_code = 'CA') THEN state_name = 'California';
 ELSE IF (state_code = 'UT') THEN state_name = 'Utah'; 
 ELSE state_name = 'unknown'; 
END 

 

 

Atribuição

            A linguagem de Stored Procedure e Trigger permite também comandos de atribuição, podemos utilizar variáveis locais ou parâmetros de entrada para efetuarmos o calculo. Podem também ser complexas assim como nas linguagens de programação, não tendo restrições de complexidade. Veja a sintaxe:

 

  Valor1 := (Valor2 * Valor3) / 2;

 

 

IF-THEN-ELSE

            Além de tudo que já vimos para Stored Procedure e Trigger, temos também os comandos IF-THEN-ELSE, assim como em qualquer linguagem de programação. Veja a sintaxe :

 

IF (VariavelNome = 'DEVMEDIA')
  THEN VariavelNome = 'www.devmedia.com.br';
  ELSE VariavelNome = 'www.google.com.br';  

 

            Podemos ainda utilizar bloco de BEGIN-END, além de expressões como =, <, >, <=, >=, <> , ajudando assim a montar expressões mais complexas.

            Temos diversas outras variações a serem utilizadas com o bloco IF-THEN-ELSE. Veja alguma delas:

 

 

 

 

Valor LIKE valor

            O valor à direita pode incluir um ou mais curingas. Use % para zero ou mais caracteres e _ para um caracter.

 

Valor IN (valor1, valor2, valor3, &)

            Membro de uma lista de valores.

 

Valor EXISTS (subquery)

            Verdadeiro se o valor combinar com um dos valores retornados pela subquery.

 

Valor ANY (subquery)

            Verdadeiro se o valor combinar com qualquer das linhas retornadas pela subquery.

 

Valor ALL (subquery)

            Verdadeiro se o valor combinar com todas as linhas retornadas pela subquery.

 

Valor IS NULL

            Verdadeiro se o valor for nulo.

 

Valor IS NOT NULL

            Verdadeiro se o valor não for nulo.

 

Valor CONTAINING valor

            Busca de substring sem diferenciar maiúsculas e minúsculas.

 

Valor STARTING WITH valor

            Verdadeiro se o valor a esquerda iniciar com o valor a direita. Diferencia maiúsculas e minúsculas.

 

Veja um exemplos :

 

IF

(any_sales > 0) THEN

BEGIN

EXCEPTION reassign_sales;

SUSPEND;

END

IF

(first IS NOT NULL) THEN

line2=first || ' ' || last;

ELSE

line2=last;

 

 

Fico por aqui ate à próxima Quick Tips.

 

Um abraço

 

Wesley Y

wyamazack@rwsolution.com.br

 



Atuou como desenvolvedor/consultor há mais de 9 anos. Liderou, como projetista/analista, diversos importantes projetos de TI na Marinha do Brasil. Atualmente é coordenador editorial da web-03, incluindo os sites DevMedia, JavaFree [...]

O que você achou deste post?
Conhece a assinatura MVP?
Serviços

Mais posts