Curso Firebird SQL 09 – Where

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 07 – Insert into

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,’ALCATRA’,16.50,2);

insert into PRODUTO (PRO_CODIGO, PRO_NOME, PRO_VALOR, PRO_GRUPO) values (7,’PEPINO’,3.76,3);

insert into PRODUTO (PRO_CODIGO, PRO_NOME, PRO_VALOR, PRO_GRUPO) values (8,’ALHO’,12,3);

insert into PRODUTO (PRO_CODIGO, PRO_NOME, PRO_VALOR, PRO_GRUPO) values (9,’BOMBA CHOCOLATE’,1.80,1);

Curso Firebird SQL 06 – Foreign key Restrict e Cascade

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 04 – Primary Key, Chave Primária

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

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

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);