Postagens

Mostrando postagens de Janeiro, 2017

Conectando PostGreSQL no Delphi Berlin usando ZEOS

Imagem
Neste vídeo vou mostrar como conectar a uma base de dados PostGreSQL no Delphi Berlin usando o ZeosLib e resolver o problema:

None of the dynamic libraries Can Be found or is not loadable: libpq.dll!
Use TZConnection.libraryLocation if the location is invalid.

Curso Firebird SQL 23 - Union

Imagem
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 ALL

      select
         c.CLI_CODIGO as codigo, 
         'Cliente'    as Tipo,
         c.CLI_NOME as Nome
      from CLIENTE C)

 Order BY NOME


Curso Firebird SQL 22 - Alias

Imagem
Aliases SQL são usados ​​para fornecer a uma tabela de banco de dados ou a uma coluna em uma tabela, um nome temporário.
Basicamente aliases são criados para tornar os nomes das colunas mais legíveis.

Curso Firebird SQL 21 - Right Join

Imagem
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_GRUPO

SELECT *
from CLIENTE
RIGHT join CIDADE on CIDADE.CID_CODIGO = CLIENTE.CLI_CIDADE

Curso Firebird SQL 20 - Left Join

Imagem
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_CIDADE

SELECT *
from produto
left join GRUPO on GRUPO.GRU_CODIGO = PRODUTO.PRO_GRUPO


Curso Firebird SQL 19 - Join

Imagem
O comando inner join ou join (junta-se) retorna os registros Iguais
(comuns) entre as duas tabelas.

Script Exemplo:



SELECT *
from produto
inner join GRUPO on GRUPO.GRU_CODIGO = PRODUTO.PRO_GRUPO

SELECT *
from CLIENTE
join CIDADE on CIDADE.CID_CODIGO = CLIENTE.CLI_CIDADE

Curso Firebird SQL 18 - Exception

Imagem
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

Imagem
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

Imagem
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

Imagem
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

Curso Firebird SQL 14 - First

Imagem
Comando FIRST limita a quantidade de registros de uma consulta SQL



Script exemplo:

--exibir apenas os 10 primeiros registros
select first 10 CODIGO, NOME from Cliente order by NOME asc-exibir apenas os 10 ultimos registrosselect first 10 CODIGO, NOME from Cliente order by NOME Desc

Curso Firebird SQL 13 - Order By

Imagem
A palavra-chave ORDER BY é usada para classificar o conjunto de resultados.



Script Exemplo:


-- Ordenando pelo nome
select p.pro_codigo as Codigo, p.pro_nome as Descricao, p.pro_valor as Valor, g.gru_nome as Grupo
from produto p, grupo g
where p.pro_grupo = g.gru_codigo
Order BY p.pro_nome;

-- Listando dados vinculando duas tabelas usando Alias (apelido) para os Nomes dos Campos
-- Ordenando pelo nome do grupo e nome do produto
select p.pro_codigo as Codigo, p.pro_nome as Descricao, p.pro_valor as Valor, g.gru_nome as Grupo
from produto p, grupo g
where p.pro_grupo = g.gru_codigo
Order BY g.gru_nome, p.pro_nome;

Curso Firebird SQL 12 - Delete

Imagem
A instrução DELETE é usada para excluir registros em uma tabela.




Script exemplo:

-- Excluir um Registro
delete from grupo where gru_codigo = 3

Curso Firebird SQL 11 - Update

Imagem
A instrução UPDATE é usada para atualizar ou alterar registros existentes em uma tabela.



Script Exemplo:


-- Atualizar registro na tabela, deixa a quantidade = 10 para todos registros.
update produto
set pro_qtde = 10

-- Atualizar registro na tabela, deixa a quantidade = 20 para os produtos com codigo maior que 5
update produto
set pro_qtde = 20
where pro_codigo > 5


Curso Firebird SQL 10 - Like

Imagem
O operador LIKE é usado em uma cláusula WHERE para procurar um padrão especificado em uma coluna.


Script Exemplo:

-- exibir dados de uma tabela (clientes que contenha "NI" em qualquer posição do nome)
select * from cliente
where cli_nome like '%NI%'

-- exibir dados de uma tabela (clientes que contenha "DA" no inicio do nome)
select * from cliente
where cli_nome like 'DA%'

Curso Firebird SQL 09 - Where

Imagem
A cláusula WHERE é usada para filtrar registros, ou seja, usada para extrair apenas os registros que atendem a um critério especificado.


Script exemplo:

-- somente do produto com código = 3
select * from produto where pro_codigo = 3;

-- exibir dados de uma tabela (clientes onde (where) o nome seja igual a "LUCIANO")
select * from cliente
where cli_nome = 'LUCIANO'

Curso Firebird SQL 08 - Select

Imagem
A instrução SELECT é usada para selecionar dados de um banco de dados.



Script exemplo:

-- exibir dados de uma tabela (todos os campos)
select * from produto;

-- exibir dados de uma tabela (somente campo codigo e descricao)
select pro_codigo, pro_nome
from produto;


Curso Firebird SQL 07 - Insert into

Imagem
A instrução INSERT INTO é usada para inserir novos registros em uma tabela.



Script exemplo:

 -- Incluir registros (dados) na tabela Grupo
insert into grupo (gru_codigo,gru_nome) values (1,'PADARIA');
insert into grupo (gru_codigo,gru_nome) values (2,'ACOUGUE');
insert into grupo (gru_codigo,gru_nome) values (3,'HORTI-FRUTI');

-- Incluir Registro tabela de produtos
insert into PRODUTO (PRO_CODIGO, PRO_NOME, PRO_VALOR, PRO_GRUPO) values (1,'PICANHA',54.50,2);
insert into PRODUTO (PRO_CODIGO, PRO_NOME, PRO_VALOR, PRO_GRUPO) values (2,'BOLO FUBA',6.80,1);
insert into PRODUTO (PRO_CODIGO, PRO_NOME, PRO_VALOR, PRO_GRUPO) values (3,'CENOURA',4.35,3);
insert into PRODUTO (PRO_CODIGO, PRO_NOME, PRO_VALOR, PRO_GRUPO) values (4,'PAO FRANCES',5.00,1);
insert into PRODUTO (PRO_CODIGO, PRO_NOME, PRO_VALOR, PRO_GRUPO) values (5,'FRANGO CONGELADO',11.20,2);
insert into PRODUTO (PRO_CODIGO, PRO_NOME, PRO_VALOR, PRO_GRUPO) values (6,'A…

Curso Firebird SQL 06 - Foreign key Restrict e Cascade

Imagem
Uma chave estrangeira em uma tabela aponta para uma chave PRIMARY em outra tabela. Serve para fazer a integridade dos dados.

Script exemplo:


-- Chave estrangeira (foreign key) default
alter table produto
add foreign key (pro_grupo) references grupo(gru_codigo);

-- Apagar Chave estragneira sem sem references do constraint
alter table produto drop constraint Integ_6...;


-- criando foreign key (chave estragneira) constraint (limitação);
-- sem integridade 
alter table PRODUTO
add constraint FK_GRU_CODIGO
foreign key (PRO_GRUPO) 
references GRUPO (GRU_CODIGO)

-- criando foreign key (chave estragneira) constraint (limitação);
-- Como defalt vem com On Delete e On Update como Restrict 

alter table produto 
add constraint fk_grupo 
foreign key (pro_grupo) 
references grupo (gru_codigo);

Curso Firebird SQL 05 - Chaves Compostas

Imagem
Neste vídeo vou mostrar como criar chaves primarias (primary key) utilizando dois ou mais campos de uma tabela.






Curso Firebird SQL 04 - Primary Key, Chave Primária

Imagem
A restrição PRIMARY KEY identifica exclusivamente cada registro em uma tabela de banco de dados.
As chaves primárias devem conter valores UNICOS.
Uma coluna de chave primária não pode conter valores NULOS.
A maioria das tabelas deve ter uma chave primária, e cada tabela pode ter apenas uma chave primária.

Script exemplo:

--incluindo chave primaria em uma tabela existente
alter table grupo 
add primary key (gru_codigo);

ou

alter table CLIENTE
add constraint PK_CLIENTE_1
primary key (CLI_CODIGO)

Curso Firebird SQL 03 - Create table

Imagem
A instrução CREATE TABLE é usada para criar uma tabela em um banco de dados.
As tabelas são organizadas em linhas e colunas; E cada tabela deve ter um nome.

Script exemplo:

-- Criar tabela com chave primaria
create table grupo
(
gru_codigo dm_codigo,
gru_nome varchar(20),
primary key (gru_codigo)
);


CREATE TABLE CLIENTE
(
  CLI_CODIGO DM_CODIGO,
  CLI_NOME DM_NOME,
  CLI_DTNAS Date,
  CLI_CIDADE integer,  
  CONSTRAINT PK_CLI_CODIGO PRIMARY KEY (CLI_CODIGO)
);

Curso Firebird SQL 02 - Domínios

Imagem
Neste vídeo mostro como trabalhar com Domínios para padronização dos campos das suas tabelas.



Script de Exemplo:

-- criando dominio para padronização dos campos a 
--serem reaproveitados
create domain "DM_CODIGO" as integer not null;
create domain "DM_NOME" as varchar(30);
create domain "DM_DESCRICAO" as varchar(30);
create domain "DM_DTINCLUSAO" as timestamp default current_timestamp;
create domain "DM_VALOR" as numeric(8,2);
create domain "DM_QTDE" as numeric(8,3);

Curso Firebird SQL 01 - Conhecendo ISQL Tool

Imagem
Neste vídeo vou mostrar o Firebird ISQL Tool, ferramenta nativa em modo texto do Firebird.

Criar um novo banco de dados, criar uma tabela, inserir dados, usar o select