Ir ao conteúdo
  • Cadastre-se

Problema SQL em Sybase


Posts recomendados

Bom dia a todos.

 

Estou com uma dificuldade em um SQL em um banco Sybase.

 

Abaixo o código da SQL e em anexo um print do erro.

 

//CRIA TABELA ESTOQUE
create table ESTOQUE
(est001      smallint       not null,
 est002      varchar(15),
 est003      varchar(45),
 est900      smallint       null,
 est004	     varchar(25),
 est005	     varchar(40),
 est006      varchar(40),
 est007      varchar(2),
 est008      decimal(6,2),
 est009      decimal(6,2),
 est010      decimal(6,2),
 est011      decimal(6,2),
 est012      smallint       null,
 est013      smallint       null,
 est014      smallint	    null,
 est015      smallint       null,
 est016	     varchar(10),
 est017	     varchar(10),
   primary key (est001));

//INSERE NA TABELA OS VALORES
insert into ESTOQUE
select prd001, prd005, prd008, prd010, null, null, null, prd032, null, null, null, null, null, null, null, 0, null, null from 
ges_080;
update ESTOQUE set est004=b.gpp002 from ges_044 as b where est900=b.gpp001;//NOME DO GRUPO
update ESTOQUE set est008=b.prd016, est010=b.prd018 from ges_082 as b where est001=b.prd001;//PRECO DE VENDA
update ESTOQUE set est011=b.sld006, est013=b.sld015, est014=b.sld008 from ges_400 as b where est001=b.sld002;//CUSTO MEDIO, ESTOQUE ATUAL, QTD MINIMA

//INSERE MAIS CAMPOS A TABELA
alter table ESTOQUE add (est018 varchar(10), est019 decimal(8,3), est020 varchar(8), est021 smallint null, est910 smallint 
null, est022 char(3), est980 char(3));
update ESTOQUE set est019=b.prd038 from ges_080 as b where est001=b.prd001;//PESO
update ESTOQUE set est020='00000000', est021=0;//CF E IPI

//CODIGO CST
update ESTOQUE set est910=b.prd028 from ges_080 as b where est001=b.prd001;
update ESTOQUE set est022='0'+b.icm012 from ges_016 as b where est910=b.icm001;

//-------------------------------------------- % DE ICMS
update ESTOQUE set est980=b.icm006 from ges_016 as b where est910=b.icm001;
//--------------------------------------------

//ADICIONA MAIS CAMPOS E DADOS A TABELA
alter table ESTOQUE add (est023 varchar(3), est024 decimal(4,4), est025 varchar(2), est026 varchar(2), est027 varchar(30));
alter table ESTOQUE add (est028 smallint null, est029 smallint null, est030 smallint null, est031 smallint null);
alter table ESTOQUE add (est032 varchar(10), est033 smallint null, est034 varchar(10), est035 smallint null, est036 
varchar(10));
alter table ESTOQUE add (est037 varchar(1), est038 varchar(1), est039 char(8), est040 varchar(10));
update ESTOQUE set est027=b.prd081 from ges_080 as b where est001=b.prd001;//OBSERVACOES

//ALTERADO,SERVIÇO,IAT,IPPT,NCM
update ESTOQUE set est034='VERDADEIRO', est036='FALSO', est037='A', est038='T', est039='00000000';

//PRODUTOS ATIVOS E INATIVOS
alter table ESTOQUE add (est920 smallint null);
update ESTOQUE set est920=b.prd048 from ges_080 as b where est001=b.prd001;
update ESTOQUE set est032='FALSO' where est920=0;//FALSO (ativo)
update ESTOQUE set est032='VERDADEIRO' where est920=1;//VERDADEIRO (Inativo)

//APAGAR PRODUTOS INATIVOS
delete from estoque where est920=1

//ALTERA NOMES DOS GRUPOS
update estoque set est004='PLASTICOS/EMB. TERM.' where est004='PLASTICOS / EMBALAGEM TERMICA'
update estoque set est004='UTENS. DOM. (FLAVIO)' where est004='UTENSILIOS DOMESTICOS (FLAVIO)'
update estoque set est004='LOUCAS/VIDRO/PORCEL' where est004='LOUCAS/VIDROS/PORCELANAS'

//---------------------------------------PRODUTOS X TABELA DE ICMS
update ESTOQUE set est023='FFF' where est980=0 and est022=060;
update ESTOQUE set est023='017' where est980=17 and est022=000;
update ESTOQUE set est023='012' where est980=12 and est022=000;
update ESTOQUE set est023='007' where est980=7 and est022=000;
update ESTOQUE set est023='III' where est980=0 and est022=040;
//---------------------------------------

//DELETAR CAMPOS DESNECESSÁRIOS
alter table ESTOQUE drop est900;
alter table ESTOQUE drop est910;
alter table ESTOQUE drop est920;
alter table ESTOQUE drop est980;

//ALTERA NOMES DOS GRUPOS
update estoque set est004='PLASTICOS/EMB. TERM.' where est004='PLASTICOS / EMBALAGEM TERMICA'
update estoque set est004='UTENS. DOM. (FLAVIO)' where est004='UTENSILIOS DOMESTICOS (FLAVIO)'
update estoque set est004='LOUCAS/VIDRO/PORCEL' where est004='LOUCAS/VIDROS/PORCELANAS'

//EXPORTAR ARQUIVO COM DADOS
select * from ESTOQUE;
output to C:\5ESTOQUE.TXT;

//APAGAR TABELA ESTOQUE
drop table ESTOQUE;

 

erro.png

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!