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:
(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