Oracle Básico – Parte 1

Olaaa, meu objetivo nessa série de post’s é fazer o leitor aprender um pouco sobre pl/sql, mas antes de chegar no pl vou colocar vários exercícios básicos sobre oracle, justamente para outras pessoas como eu que trabalha com Mysql ou outros bancos possam se familiarizar com o oracle, claro que não vou postar como instalar o oracle ou essas coisas, existe 5 trilhões de artigos desses na internet ensinando, vou apenas colocar o arquivos para os senhores preencherem seu banco e poder fazer os exercícios. Entende-se que o leitor já conheça sql e sobre banco de dados em geral.

Bibliografia utilizada: Dominando o Oracle 9i, Modelagem e Desenvolvimento (Totalmente Recomendado).

Primeiro passo:
Criar as tabelas e colocar dados, tudo isso está no script abaixo:

 CREATE TABLE Fornecedor
 (Nr_Fornecedor  Number (4),
   Nm_Fornecedor Varchar2 (50),
   Ds_Endereco  Varchar2 (70),
   Nr_Fone  Number (12),
   Dt_Nascimento Date,
   Ie_Sexo  Char (1),
   Ie_Fisica_Juridica Char (1),
   Cd_Situacao  Number (3));
  
  CREATE TABLE Cliente
  (cd_cliente    number (4),
   nm_cliente    varchar2 (65),
   ds_endereco   varchar2 (50),
   Cd_municipio   number(5),
   Sg_estado     char(2),
   nr_cep     varchar2 (8),
   nr_ddd    number (3),
   nr_fone     number (7),
   Ie_sexo     char(1));
  
 CREATE TABLE Estado_Civil
 (cd_estado_civil  number (1),
  ds_estado_civil  varchar2 (10));

CREATE TABLE Municipio
 (Cd_municipio   Number(5),
  Sg_estado   Char(2),
  Nm_municipio   Varchar2(80));

CREATE TABLE Produto
 (Cd_produto   Number(5),
 Nm_produto   Varchar2(80),
 Nm_popular   Varchar2(40),
 Dt_primeira_aquisicao  Date,
 Vl_custo_medio  Number(10,2),
 Cd_situacao   Number(3),
 Ie_nacional   Char(1),
 Cd_tipo_produto  Number(3));

CREATE TABLE Estado
 (Sg_Estado    char(2),
  Nm_Estado   varchar2 (35));

CREATE TABLE Historico
 (cd_cliente   number (4),
  dt_compra    date,
  vl_compra    number (12,2),
  CONSTRAINT Hst_PK  PRIMARY KEY  (Cd_Cliente, Dt_Compra));

CREATE TABLE Nota_Fiscal
 (Nr_nota   Number(5) CONSTRAINT NF_PK PRIMARY KEY,
  cd_cliente   Number(4) Not Null,
  Dt_emissao   Date Not Null,
  Ie_tipo_nota   Char(1)
  CONSTRAINT NF_CK_Ie_Tipo_Nota CHECK (Ie_Tipo_Nota in (‘C’,'D’)),
  ie_tributada   Char(1)
  CONSTRAINT NF_CK_Ie_Tributada CHECK (Ie_Tributada in (‘S’,'N’))) ;

CREATE TABLE Item_Nota_Fiscal
 (Nr_nota   Number(5),
  Nr_item   Number(2),
  Cd_Produto   Number(5),
  Qt_Produto   Number(13, 3),
  Vl_Unitario   Number(10, 2),
  Ds_Observação  Varchar2(250),
  CONSTRAINT INF_PK PRIMARY KEY (Nr_Nota, Nr_Item),
  CONSTRAINT INF_UK UNIQUE (Nr_Nota, Cd_Produto));

CREATE TABLE Tipo_Produto
 (Cd_tipo_produto  Number(3) CONSTRAINT TpPr_PK PRIMARY KEY,          
  Nm_tipo_produto  Varchar2(30) Not Null);

CREATE TABLE Pais
(Cd_pais   Number(2) CONSTRAINT PAIS_PK PRIMARY KEY,
 Nm_pais    Varchar2(45) CONSTRAINT PAIS_UK UNIQUE,
 Ds_nacionalidade   Varchar2(35)) ;

CREATE TABLE Empresa
 (Cd_empresa   Number(2) CONSTRAINT EMP_PK PRIMARY KEY,
  Nm_empresa   Varchar2(30) Not Null,
  Nr_CGC   Number(15) CONSTRAINT EMP_UK UNIQUE);
 
 
CREATE TABLE Filial
 (Cd_empresa   Number(2),
  Cd_filial   Number(2),
  Nm_filial   Varchar2(25) Not Null,
  CONSTRAINT FL_PK PRIMARY KEY (Cd_Empresa, Cd_Filial),
  CONSTRAINT FL_FK_EMP
  FOREIGN KEY (Cd_Empresa)
  REFERENCES Empresa (Cd_Empresa));

ALTER TABLE  Cliente
ADD (Ie_Fisica_Juridica Char (1));

ALTER TABLE  Fornecedor
MODIFY (Ds_Endereco  Varchar2 (50));

ALTER TABLE  Cliente
ADD (CONSTRAINT Cli_CK_FisJur
CHECK (Ie_Fisica_Juridica in (‘S’,'N’)) );

ALTER TABLE  Empresa
DISABLE CONSTRAINT EMP_UK;

ALTER TABLE  Pais
DROP CONSTRAINT Pais_UK;

ALTER TABLE Fornecedor
Add Constraint Forn_PK PRIMARY KEY (Nr_Fornecedor);

ALTER TABLE Cliente
Add Constraint Cli_PK PRIMARY KEY (Cd_Cliente);

ALTER TABLE Estado_Civil
Add Constraint EstCiv_PK PRIMARY KEY (Cd_Estado_Civil);

ALTER TABLE Cliente
Add (Cd_Estado_Civil Number(1));

ALTER TABLE Cliente
Add  CONSTRAINT Cli_FK_EstCiv
 FOREIGN KEY (Cd_Estado_Civil)
 REFERENCES Estado_Civil (Cd_Estado_Civil);

ALTER TABLE Fornecedor
Add (Cd_Pais  Number(2),
Sg_Estado  Char(2),
Cd_Municipio  Number(5));

ALTER TABLE Cliente
Add (Cd_Pais  Number(2));

ALTER TABLE Estado
Add (Cd_Pais  Number(2));

ALTER TABLE Municipio
Add (Cd_Pais  Number(2));

ALTER TABLE Estado
Add Constraint Est_PK primary key (Sg_Estado);

ALTER TABLE Municipio
Add  CONSTRAINT Mun_FK_Est
 FOREIGN KEY (Sg_Estado)
 REFERENCES Estado (Sg_Estado);

ALTER TABLE Estado
Add  CONSTRAINT Est_FK_Pais
 FOREIGN KEY (Cd_Pais)
 REFERENCES Pais (Cd_Pais);

INSERT INTO  Pais
(cd_pais, nm_pais)
VALUES
(1, ‘Brasil’);

INSERT INTO  Pais
(cd_pais, nm_pais, ds_nacionalidade)
VALUES
 (2,’Argentina’, null);

INSERT INTO  Pais
VALUES
 (3,’Chile’, ‘Chilena’);

INSERT INTO  Pais
 (cd_pais, nm_pais, ds_nacionalidade)
VALUES
 (&Codigo,’&Nome’, ‘&Nacionalidade’);

 INSERT INTO Estado_Civil
 VALUES
  (1, ‘Solteiro’);
 INSERT INTO Estado_Civil
 VALUES
 (2,’Casado’);
 INSERT INTO Estado_Civil
 VALUES
 (3,’Viúvo’);
 INSERT INTO Estado_Civil
 VALUES
(4,’Separado’);
 INSERT INTO Estado_Civil
 VALUES
(5,’Divorciado’);

 INSERT INTO Pais
 (Cd_Pais, Nm_Pais, Ds_Nacionalidade)
 VALUES
  (5, ‘Egito’,  ’Egípcia’);
 INSERT INTO Pais
 (Cd_Pais, Nm_Pais, Ds_Nacionalidade)
 VALUES
  (6, ‘Líbano’, ‘Libanesa’);
 INSERT INTO Pais
 (Cd_Pais, Nm_Pais, Ds_Nacionalidade)
 VALUES
  (7, ‘Arábia’, ‘Árabe’);
 INSERT INTO Pais
 (Cd_Pais, Nm_Pais, Ds_Nacionalidade)
 VALUES
  (8, ‘Turquia’, Null);
 INSERT INTO Pais
 (Cd_Pais, Nm_Pais, Ds_Nacionalidade)
 VALUES
  (9, ‘China’, ‘Chinesa’);
 INSERT INTO Pais
 (Cd_Pais, Nm_Pais, Ds_Nacionalidade)
 VALUES
  (10, ‘Japão’, ‘Japonesa’);
 INSERT INTO Pais
 (Cd_Pais, Nm_Pais, Ds_Nacionalidade)
 VALUES
  (11, ‘Bélgica’, ‘Belga’);
 INSERT INTO Pais
 (Cd_Pais, Nm_Pais, Ds_Nacionalidade)
 VALUES
  (12, ‘Peru’, Null);
 INSERT INTO Pais
 (Cd_Pais, Nm_Pais, Ds_Nacionalidade)
 VALUES
  (13, ‘Venezuela’, Null);
 INSERT INTO Pais
 (Cd_Pais, Nm_Pais, Ds_Nacionalidade)
 VALUES
  (14, ‘Colômbia’, Null);
INSERT INTO Estado
VALUES
(‘SC’, ‘Santa Catarina’,1);
INSERT INTO Estado
VALUES
(‘PR’, ‘Paraná’,1);
INSERT INTO Estado
VALUES
(‘RS’, ‘Rio Grande do Sul’,1);
INSERT INTO Municipio
VALUES
(1, ‘SC’, ‘Bal.Camboriú’, 1);
INSERT INTO Municipio
VALUES
(2,’SC’, ‘Blumenau’, 1);
INSERT INTO Municipio
VALUES
(3,’SC’, ‘Florianópolis’, 1);
INSERT INTO Municipio
VALUES
(4,’SC’, ‘Criciúma’, 1);
INSERT INTO Municipio
VALUES
(5,’PR’, ‘Curitiba’, 1);
INSERT INTO Municipio
VALUES
(6,’PR’, ‘Ponta Grossa’, 1);
INSERT INTO Cliente
(CD_CLIENTE, NM_CLIENTE, DS_ENDERECO, CD_MUNICIPIO,
  SG_ESTADO, NR_CEP, NR_DDD, NR_FONE, IE_SEXO,
  IE_FISICA_JURIDICA, CD_ESTADO_CIVIL, CD_PAIS)
VALUES
(1, ‘Damaris Fanderuff’, ‘Teste Endereço’, 1,
 ’SC’, ’88330000′, 047, 9853308, ‘F’,
 ’S', 5,1);
INSERT INTO Cliente
(CD_CLIENTE, NM_CLIENTE, DS_ENDERECO, CD_MUNICIPIO,
  SG_ESTADO, NR_CEP, NR_DDD, NR_FONE, IE_SEXO,
  IE_FISICA_JURIDICA, CD_ESTADO_CIVIL, CD_PAIS)
VALUES
(2, ‘ José da Silva’, ‘Rua Joinville, 380′, 4,
 ’SC’, ’88000000′, 048, 9899898, ‘M’,
 ’S', 1,1);
INSERT INTO Cliente
(CD_CLIENTE, NM_CLIENTE, DS_ENDERECO, CD_MUNICIPIO,
  SG_ESTADO, NR_CEP, NR_DDD, NR_FONE, IE_SEXO,
  IE_FISICA_JURIDICA, CD_ESTADO_CIVIL, CD_PAIS)
VALUES
(3, ‘ Maria Aparecida Mafra’, ‘Rodovia Osvaldo Reis, s.n.’, 3,
 ’SC’, Null, 048, 3225666, ‘F’,
 ’S', 3,1);
INSERT INTO Cliente
(CD_CLIENTE, NM_CLIENTE, DS_ENDERECO, CD_MUNICIPIO,
  SG_ESTADO, NR_CEP, NR_DDD, NR_FONE, IE_SEXO,
  IE_FISICA_JURIDICA, CD_ESTADO_CIVIL, CD_PAIS)
VALUES
(4, ‘ Marlene Maria Maia’, ‘BR 470 KM 25′, 5,
 ’PR’, Null, 041, 2311123, ‘F’,
 ’S', 5,1);
INSERT INTO Fornecedor
(NR_FORNECEDOR , NM_FORNECEDOR, CD_MUNICIPIO,
SG_ESTADO, DS_ENDERECO, NR_FONE, DT_NASCIMENTO,
IE_FISICA_JURIDICA)
VALUES
(1, ‘Damaris Fanderuff’, 1,
 ’SC’, ‘Teste Endereço’ , 9853308, ’26/04/74′,
 ’S');
INSERT INTO Fornecedor
(NR_FORNECEDOR , NM_FORNECEDOR, CD_MUNICIPIO,
SG_ESTADO, DS_ENDERECO, NR_FONE, DT_NASCIMENTO,
IE_FISICA_JURIDICA)
VALUES
(2, ‘Ana Maria de Jesus’, 2,
 ’SC’, ‘Teste Endereço 2′ , 9639633, ’30/09/67′,
 ’S');
INSERT INTO Fornecedor
(NR_FORNECEDOR , NM_FORNECEDOR, CD_MUNICIPIO,
SG_ESTADO, DS_ENDERECO, NR_FONE, DT_NASCIMENTO,
IE_FISICA_JURIDICA)
VALUES
(3, ‘José Pacheco de Alcantara’, 4,
 ’SC’, ‘Avenida Teste Endereço 3′ , 9739679, ’16/11/77′,
 ’S');
INSERT INTO Fornecedor
(NR_FORNECEDOR , NM_FORNECEDOR, CD_MUNICIPIO,
SG_ESTADO, DS_ENDERECO, NR_FONE, DT_NASCIMENTO,
IE_FISICA_JURIDICA)
VALUES
(4, ‘Luis Gustavo Antonielle’, 5,
 ’PR’, ‘Teste Endereço 4′ , 9850000, ’20/06/70′,
 ’N');
INSERT INTO Fornecedor
(NR_FORNECEDOR , NM_FORNECEDOR, CD_MUNICIPIO,
SG_ESTADO, DS_ENDERECO, NR_FONE, DT_NASCIMENTO,
IE_FISICA_JURIDICA)
VALUES
(5, ‘Marli MAra Maria’, 6,
 ’PR’, ‘Avenida Teste Endereço 5′ , 4443322, ’07/06/64′,
 ’S');
insert into produto
(CD_PRODUTO, NM_PRODUTO, DT_PRIMEIRA_AQUISICAO, VL_CUSTO_MEDIO)
values
(1,’Margarina Delicia’,sysdate, 1.5);
insert into produto
(CD_PRODUTO, NM_PRODUTO, DT_PRIMEIRA_AQUISICAO, VL_CUSTO_MEDIO)
values
(2,’Ninho Soleil’, sysdate-30, 2.3);
insert into produto
(CD_PRODUTO, NM_PRODUTO, DT_PRIMEIRA_AQUISICAO, VL_CUSTO_MEDIO)
values
(3,’Batavo Ameixa/Fibras’, sysdate-22, .65);
insert into produto
(CD_PRODUTO, NM_PRODUTO, DT_PRIMEIRA_AQUISICAO, VL_CUSTO_MEDIO)
values
(4,’Danoninho’, sysdate-45,3.12);
insert into produto
(CD_PRODUTO, NM_PRODUTO, DT_PRIMEIRA_AQUISICAO,
 VL_CUSTO_MEDIO)
values
(5, ‘Chandelle Chocolate’, TO_DATE(’20/04/1998′,’dd/mm/yyyy’), 1.5);
 insert into nota_fiscal
 (NR_NOTA, CD_CLIENTE, DT_EMISSAO, IE_TIPO_NOTA, IE_TRIBUTADA)
 VALUES
 (1000, 1, sysdate, ‘C’, ‘S’);
 insert into nota_fiscal
 (NR_NOTA, CD_CLIENTE, DT_EMISSAO, IE_TIPO_NOTA, IE_TRIBUTADA)
 VALUES
 (1001, 2, sysdate – 3, ‘C’, ‘S’);
 insert into nota_fiscal
 (NR_NOTA, CD_CLIENTE, DT_EMISSAO, IE_TIPO_NOTA, IE_TRIBUTADA)
 VALUES
 (1002, 3, sysdate – 15, ‘D’, ‘S’);
 insert into nota_fiscal
 (NR_NOTA, CD_CLIENTE, DT_EMISSAO, IE_TIPO_NOTA, IE_TRIBUTADA)
 VALUES
 (1003, 3, sysdate -24, ‘C’, ‘N’);
 insert into nota_fiscal
 (NR_NOTA, CD_CLIENTE, DT_EMISSAO, IE_TIPO_NOTA, IE_TRIBUTADA)
 VALUES
 (1004, 6, sysdate – 30, ‘C’,'S’);
 insert into nota_fiscal
 (NR_NOTA, CD_CLIENTE, DT_EMISSAO, IE_TIPO_NOTA, IE_TRIBUTADA)
 VALUES
 (1005,6, sysdate-10, ‘C’, ‘N’);
 insert into nota_fiscal
 (NR_NOTA, CD_CLIENTE, DT_EMISSAO, IE_TIPO_NOTA, IE_TRIBUTADA)
 VALUES
 (1006, 6, sysdate-45, ‘C’,'S’);
 insert into nota_fiscal
 (NR_NOTA, CD_CLIENTE, DT_EMISSAO, IE_TIPO_NOTA, IE_TRIBUTADA)
 VALUES
 (1007, 1, sysdate-11, ‘D’, ‘S’);
 insert into nota_fiscal
 (NR_NOTA, CD_CLIENTE, DT_EMISSAO, IE_TIPO_NOTA, IE_TRIBUTADA)
 VALUES
 (1008, 1, sysdate-23, ‘C’, ‘S’);
 insert into nota_fiscal
 (NR_NOTA, CD_CLIENTE, DT_EMISSAO, IE_TIPO_NOTA, IE_TRIBUTADA)
 VALUES
 (1009, 1, sysdate-21, ‘C’, ‘S’);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1000, 1, 1, 2, 1.2);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1000, 2, 2, 5, 2.1);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1001, 1, 3, 10, 1.32);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1002, 1, 4, 20, 1);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1002, 2, 3, 15, 1.12);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1002, 3, 5, 1, 2.1);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1003, 1, 2, 50, 1.7);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1003, 2, 1, 21, 1.2);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1003, 3, 3, 30, 1.26);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1003, 4, 5, 10, 2.56);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1003, 5, 4, 2, 2.45);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1004, 1, 4, 45, 3);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1004,2,3, 5, 1);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1004, 3, 1, 5, 1.8);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1005, 1, 2, 6, 2.44);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1005, 2, 5, 4, 1.89);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1005, 3, 4, 24, 3.11);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1006, 1, 3, 66, .8);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1007, 1, 4, 100, 4.5);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1007, 2, 3, 225, .9);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1007, 3, 5, 45, 1.9);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1007, 4, 1, 56, 1.7);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1008, 1, 2, 20, 2.5);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1008, 2, 3, 2, 1);
insert into item_nota_fiscal
(NR_NOTA, NR_ITEM, CD_PRODUTO, QT_PRODUTO, VL_UNITARIO)
VALUES
(1009, 1, 4, 5, 5);
 insert into empresa
 (cd_empresa, nm_empresa, nr_cgc)
 values
 (1, ‘Super empresa 1′, 123456789);
commit;

2° Passo:
Estudar os exercícios abaixo, façam variações utilizando as funções abaixo utilizadas

“>
1) Selecionar, da tabela Cliente, na coluna nm_cliente, o número de caracteres que este nome possui e a posição em que aparece a primeira letra ‘A’ do nome, independentemente de essa letra estar em maiúsculo ou minúsculo.
R: SELECT
 NM_CLIENTE,
 LENGTH(NM_CLIENTE),
 INSTR(UPPER(NM_CLIENTE), ‘A’)
   FROM
 CLIENTE

2) Selecionar, da tabela Produto, o nome do produto e o seu custo médio, de modo que apareça com duas casas decimais e pelo menos uma casa inteira.
R: SELECT
 NM_PRODUTO “NOME”,
 TO_CHAR(VL_CUSTO_MEDIO, ’9,990.99′) CUSTO_MEDIO
   FROM
 PRODUTO

3) Selecionar o nome do fornecedor, o mês e o ano do seu nascimento, o número de dias transcorridos entre a data de nascimento e o final do ano em que nasceu e o número inteiro de meses entre a sua data de nascimento e o primeiro dia do ano 2000.
R: SELECT
 NM_FORNECEDOR “NOME DO FORNECEDOR”,
 TO_CHAR(DT_NASCIMENTO, ‘MM/YYYY’) “MES_ANO”,
 TO_DATE(’31/12/’ || TO_CHAR(DT_NASCIMENTO, ‘YYYY’), ‘DD/MM/YYYY’) – DT_NASCIMENTO “DATA_NASCIMENTO_DATA_FINAL”,
 TRUNC(MONTHS_BETWEEN(TO_DATE(’01/01/2000′, ‘DD/MM/YYYY’), DT_NASCIMENTO), 0)  “QUANTIDADE_MESES”
   FROM
 FORNECEDOR

4) Selecionar, da tabela PRODUTO, os produtos e o total de meses(número inteiro arredondado para maior) desde que ele foi adquirido pela primeira vez.
R: SELECT
     NM_PRODUTO,
     CEIL(MONTHS_BETWEEN(SYSDATE, DT_PRIMEIRA_AQUISICAO)) “QUANTIDADE_MESES”
FROM
     PRODUTO

5) Selecionar o nome do cliente e a frase “Cliente Nacional” se seu país for o Brasil e “Importador” caso não seja.
R: SELECT
    NM_CLIENTE,
    DECODE(CD_PAIS, 1, ‘CLIENTE NACIONAL’, ‘IMPORTADOR’)
FROM
    CLIENTE

Tags: , ,

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.