Categoria: Todos
Curso Firebird SQL 23 – Union
O operador UNION é usado para combinar o conjunto de resultados de duas ou mais instruções SELECT.
Observe
que cada instrução SELECT no UNION deve ter o mesmo número de colunas.
As colunas também devem ter tipos de dados semelhantes. Além disso, as
colunas em cada instrução SELECT devem estar na mesma ordem.
Script exemplo:
SELECT codigo, tipo, nome
from (select
F.FOR_CODIGO AS codigo,
‘Fornecedor’ as Tipo,
f.FOR_NOME as Nome
from FORNECEDOR F
UNION ALLselect
c.CLI_CODIGO as codigo,
‘Cliente’ as Tipo,
c.CLI_NOME as Nome
from CLIENTE C)
Order BY NOME
Curso Firebird SQL 21 – Right Join
O comando Right join (junta-se a direita) retorna os todos registros
da tabela a direita independente do vínculo da tabela a esquerda.
Script de exemplo:
SELECT *
from produto
right join GRUPO on GRUPO.GRU_CODIGO = PRODUTO.PRO_GRUPOSELECT *
from CLIENTE
RIGHT join CIDADE on CIDADE.CID_CODIGO = CLIENTE.CLI_CIDADE
Curso Firebird SQL 20 – Left Join
O comando Left join (junta-se a esquerda) retorna os todos registros
da tabela a esquerda independente do vínculo da tabela a direita.
Script exemplo:
SELECT *
from CLIENTE
left join CIDADE on CIDADE.CID_CODIGO = CLIENTE.CLI_CIDADESELECT *
from produto
left join GRUPO on GRUPO.GRU_CODIGO = PRODUTO.PRO_GRUPO
Curso Firebird SQL 18 – Exception
Tratando exceções com mensagens de retorno.
Script exemplo:
–Criando Exception
CREATE EXCEPTION EXC_CLIPADRAO
‘Cliente 1 padrão consumidor, exclusão não permitida’;–Criando Gatilho para disparar exception
SET TERM ^ ;
CREATE TRIGGER CLIENTE_BD FOR CLIENTE ACTIVE
BEFORE DELETE POSITION 0
AS
BEGIN
/* enter trigger code here */
if (old.Cli_CODIGO = 1) then
exception EXC_CLIPADRAO;
END^
SET TERM ; ^
Curso Firebird SQL 17 – Generator e Trigger
Criando campo auto incrimento usando trigger e generator.
Script Exemplo:
–Criar Generator:
CREATE GENERATOR INC_PRODUTO;
SET GENERATOR INC_PRODUTO TO 1;–Criar Gatilho(trigger)
SET TERM ^ ;
CREATE TRIGGER PRODUTO_BI FOR PRODUTO ACTIVE
BEFORE INSERT POSITION 0
AS
BEGIN
/* enter trigger code here */
new.PRO_CODIGO = GEN_ID(INC_PRODUTO,1);
END^
SET TERM ; ^
Curso Firebird SQL 16 – Between
O operador BETWEEN seleciona valores dentro de um intervalo. Os valores podem ser números, texto ou datas.
Script exemplo:
— valor do produto maior ou igual a 5 e menor ou igual a 13
select * from produto where (pro_valor >= 5 and pro_valor <= 13)
ou
select * from produto where (pro_valor between 5 and 13);
–BETWEEN exibe registros entre 2 valores ou datas
Curso Firebird SQL 15 – In
O operador IN permite que você especifique vários valores em uma cláusula WHERE.
Script exemplo:
— somente do produto com código = 3
select * from produto where pro_codigo = 3;
–ou
select * from produto where pro_codigo in(3); // in— somente produtos com código = 3 e codigo = 5
select * from produto where (pro_codigo = 3 or pro_codigo = 6);
ou
select * from produto where pro_codigo in(3,6);
–IN = valores pré definidos