Desculpe, no tsqlquery vc seta a propriedade paramcheck para false.
[]´s
--- Em delphi-br@yahoogrupos.com.br, Berdam <[EMAIL PROTECTED]> escreveu
>
> Respondendo aos dois emails que vieram, onde fica esse literals???
>
> Estou usando os componentes Dbexpress, sqlconection para conectar
no banco e sqlquery que recebe o sql e executa.
>
> Procurei outros exmplos na internet e parece que o dbxpress não
funciona a respeito da criação e alteração de stored procedures no
banco de dados.
> Vejam os links abaixo
>
> http://www.activedelphi.com.br/forum/viewtopic.php?
t=40534&sid=ad23cf4a4fdf0fe6e1066a848eb40ffa
>
> http://www.forumweb.com.br/foruns/index.php?showtopic=20712
>
>
>
> --------------------------------------------------------------------
--------------------
> Uberdam Cavaletti
> Formado em Tecnologia da Informação - Unoesc - Xxe
> Pós-graduado em desenvolvimento Java - Unoesc - Xxe
>
> http://www.curricular.com.br/berdam
>
> Visite
> http://passandoveneno.blogspot.com
> --------------------------------------------------------------------
--------------------
>
>
> --- Em ter, 22/7/08, lucsis2010 <[EMAIL PROTECTED]> escreveu:
> De: lucsis2010 <[EMAIL PROTECTED]>
> Assunto: [delphi-br] Cross-post Re: Atualização dde Stored Procedure
> Para: delphi-br@yahoogrupos.com.br
> Data: Terça-feira, 22 de Julho de 2008, 14:09
>
>
>
>
>
>
>
>
>
>
>
> Veja se literals está true, mude para false;
>
> Pode ser a quebra de linhas.
>
> []´s
>
>
>
> --- Em [EMAIL PROTECTED] os.com.br, Berdam <berdamzinho@ ...>
escreveu
>
> >
>
> >
>
> > Galera, estou com um erro muito estranho, tenho uma atualizador,
>
> que possui a base de dados contendo as atualizações, nele tenho
>
> algumas alterações de procedures, campos,tabelas do banco de dados
do
>
> cliente.
>
> > Quando executo o atualizador ele percorre a base de atualizações,
e
>
> executa os scripts na base de dados da empresa, este problema só
está
>
> ocorrendo quando crio ou atualizo uma procedure.
>
> > Quando executo a alteração de procedure uma exceção é lançada, na
>
> > exceção eu pego o comando SQL e insiro no ibexpert e ele passa sem
>
> > problemas.
>
> >
>
> > Abaixo em negrito segue a exceção, claro que eu
>
> > retiro os caracteres que fazem parte da exceção e executo apenas
o
>
> SQL,
>
> > fazendo isso no ibexpert funciona, já no atualizador não.
Repetindo
>
> que somente ocorre isso na atualização das stored procedures, as
>
> outras atualizações correm normalmente.
>
> >
>
> > A exceção ocorre no primeiro select, "CAUSA : Token unknown -
line
>
> 40, column 8
>
> >
>
> >
>
> > ?", mas colocando no ibexpert, nenhum erro aparece.
>
> >
>
> >
>
> >
>
> > Alguém possui alguma explicação plausível para isso????
>
> >
>
> >
>
> > ------------ --------- ------
>
> > Warning
>
> > ------------ --------- ------
>
> > Não foi possível a inclusão/alteraçã o do comando:
>
> > 1019:ALTER PROCEDURE COTFICHA_FORNECEDOR (
>
> > IN_COTACAO CHAR(10),
>
> > IN_COD_EMPRESA CHAR(6))
>
> > AS
>
> > declare variable var_contafichaserv smallint;
>
> > declare variable var_codfornecedor char(5);
>
> > declare variable var_contafichaprod smallint;
>
> > declare variable var_coditem varchar(20);
>
> > declare variable var_sequencia smallint;
>
> > declare variable var_quantidade double precision;
>
> > declare variable var_servico varchar(40);
>
> > declare variable var_total smallint;
>
> > declare variable var_contap smallint;
>
> > declare variable var_contas smallint;
>
> > declare variable var_seqfornecedor smallint;
>
> > declare variable var_contador integer;
>
> > declare variable var_numfornecedor smallint;
>
> > declare variable var_nfichaspreenchi das smallint;
>
> > declare variable var_achoufichaforn smallint;
>
> > begin
>
> > /*---------- --------- --------- --------- --------- --------- -
--
>
> ------------
>
> > - Essa SP verifica se o fornecedor já tem a respectiva ficha de
>
> Cotação -
>
> > - gerada. Se ainda não existir, o sistema preenche
>
> automaticamente -
>
> >
>
> > Versão: 1.0.3
>
> >
>
> > ------------ --------- --------- --------- --------- --------- -
>
> ----------*/
>
> >
>
> > var_contafichaprod = 0;
>
> > var_contafichaserv = 0;
>
> > var_contap = 0;
>
> > var_contas = 0;
>
> > var_contador = 0;
>
> > var_numfornecedor = 0;
>
> >
>
> > /* Verifica o número de fornecedores e registra as fichas de
>
> > cabeçalho */
>
> >
>
> > select count(z.cd_empresa)
>
> > from cotacao_fornece z
>
> > where (z.codigo = :in_cotacao) and (z.cd_empresa
>
> = :in_cod_empresa)
>
> > into :var_numfornecedor;
>
> >
>
> > select count(x.cd_empresa)
>
> > from
>
> > cotacao_fornecedor_ header x
>
> > where (x.codigo = :in_cotacao) and (x.cd_empresa
>
> = :in_cod_empresa)
>
> > into :var_nfichaspreench idas;
>
> >
>
> >
>
> > if (var_numfornecedor > var_nfichaspreenchi das) then
>
> > begin
>
> > for select m.cd_fornece, m.seq_fornece
>
> > from cotacao_fornece m
>
> > where (m.codigo = :in_cotacao) and (m.cd_empresa
>
> = :in_cod_empresa)
>
> > into :var_codfornecedor, :var_seqfornecedor
>
> > do begin
>
> > select count(n.codigo)
>
> > from
>
> > cotacao_fornecedor_ header n
>
> > where (n.cd_fornece = :var_codfornecedor) and
>
> > (n.seq_fornece = :var_seqfornecedor) and
>
> > (n.cd_empresa = :in_cod_empresa) and (n.codigo
>
> = :in_cotacao)
>
> > into :var_achoufichaforn ;
>
> >
>
> > if (var_achoufichaforn = 0) then
>
> > begin
>
> > insert into cotacao_fornecedor_ header (codigo,
>
> cd_empresa, cd_fornece,
>
> > seq_fornece, valortotal, vlrredespacho,
valoreajuste,
>
> valordesconto)
>
> >
>
> > values
>
> > (:in_cotacao, :in_cod_empresa, :var_codfornecedor,
>
> > :var_seqfornecedor, 0, 0, 0, 0);
>
> > end
>
> >
>
> > end
>
> > end
>
> >
>
> > -- Conta o número de produtos
>
> > select count(a.codigo)
>
> > from cotacao_itens a
>
> > where (a.codigo = :in_cotacao) and (a.cd_empresa
>
> = :in_cod_empresa)
>
> > into :var_contap;
>
> >
>
> > -- Conta o número de Serviços
>
> > select count(b.codigo)
>
> > from cotacao_servicos b
>
> > where (b.codigo = :in_cotacao) and (b.cd_empresa
>
> = :in_cod_empresa)
>
> > into :var_contas;
>
> >
>
> > -- Corrigido em 14-12-07 - Deixa-se de contar os itens dos
>
> fornecedores
>
> > -- e passa a contar
>
> > os itens gerais em servicos e produtos
>
> > --var_total = var_contafichaprod + var_contafichaserv;
>
> >
>
> > var_total = var_contap + var_contas;
>
> >
>
> > --Verifica se foram inseridos itens na cotação
>
> >
>
> > if (var_total > 0) then
>
> > begin
>
> > -- Procura todos os fornecedores listados na cotação
>
> > for select cf.cd_fornece, cf.seq_fornece
>
> > from cotacao_fornece cf
>
> > where (cf.codigo = :in_cotacao) and (cf.cd_empresa
>
> = :in_cod_empresa)
>
> > into :var_codfornecedor, :var_seqfornecedor
>
> > do
>
> > begin
>
> >
>
> > --Conta o número de itens registrados para o forncedor
>
> > select count(cfi.codigo)
>
> > from cotacao_fornece_ itens cfi
>
> > where (cfi.codigo = :in_cotacao) and
>
> > (cfi.cd_empresa = :in_cod_empresa) and
>
> > (cfi.cd_fornece = :var_codfornecedor) and
>
> > (cfi.seq_fornece = :var_seqfornecedor)
>
> > into :var_contafichaprod ;
>
> >
>
> > -- se a quantidade de itens for menor, ele irá inserir os
>
> itens faltantes
>
> > -- para aquele fornecedore
>
> > if (var_contafichaprod < var_contap) then
>
> > begin
>
> > -- localiza todos os itens da cotação e insere todos os
>
> faltantes
>
> > for select a.cd_item, a.seq_item, a.quantidade
>
> > from cotacao_itens a
>
> > where (a.codigo = :in_cotacao) and (a.cd_empresa
>
> = :in_cod_empresa)
>
> > into :var_coditem, :var_sequencia, :var_quantidade
>
> > do
>
> > begin
>
> > select count(b.cd_item)
>
> > from cotacao_fornece_ itens b
>
> > where (b.codigo = :in_cotacao) and
>
> > (b.cd_empresa = :in_cod_empresa) and
>
> > (b.cd_fornece = :var_codfornecedor) and
>
> > (b.seq_fornece = :var_seqfornecedor) and
>
> > (b.cd_item = :var_coditem) and
>
> > (b.seq_item =
>
> > :var_sequencia)
>
> > into :var_contador;
>
> >
>
> > if (var_contador = 0) then
>
> > begin
>
> > insert into cotacao_fornece_ itens (cd_empresa,
codigo,
>
> cd_fornece,
>
> > seq_fornece, cd_item, valor_unit, ipi,
valor_ipi,
>
> valor_total,
>
> > seq_item, quantidade, valorfinal, valor_kgm)
>
> > Values
>
> >
(:in_cod_empresa, :in_cotacao, :var_codfornecedor,
>
> > :var_seqfornecedor, :var_coditem, 0, 0, 0, 0,
>
> > :var_sequencia, :var_quantidade, 0, 0);
>
> > end
>
> > end
>
> > end
>
> > -- Fim do processo de inserção de itens/materiais- ---------
---
>
> ------------
>
> > -- Verifica o número de servicos na cotação------- ---------
---
>
> ------------
>
> > select count(cfs.codigo)
>
> > from cotacao_fornece_ serv cfs
>
> > where (cfs.codigo = :in_cotacao) and
>
> > (cfs.cd_empresa = :in_cod_empresa) and
>
> > (cfs.cd_fornece = :var_codfornecedor) and
>
> > (cfs.seq_fornece = :var_seqfornecedor)
>
> > into :var_contafichaserv ;
>
> >
>
> > if
>
> > (var_contafichaserv < var_contas) then
>
> > begin
>
> > for select cs.seq_item, cs.servico, cs.quantidade
>
> > from cotacao_servicos cs
>
> > where (cs.codigo = :in_cotacao) and (cs.cd_empresa
>
> = :in_cod_empresa)
>
> > into :var_sequencia,
>
> > :var_servico, :var_quantidade
>
> > do
>
> > begin
>
> > select count(k.codigo)
>
> > from cotacao_fornece_ serv k
>
> > where (k.codigo = :in_cotacao) and
>
> > (k.cd_empresa = :in_cod_empresa) and
>
> > (k.cd_fornece = :var_codfornecedor) and
>
> > (k.seq_fornece = :var_seqfornecedor) and
>
> > (k.descricao = :var_servico) and
>
> > (k.seq_item = :var_sequencia)
>
> > into :var_contador;
>
> >
>
> > if (var_contador = 0) then
>
> > begin
>
> > insert
>
> > into cotacao_fornece_ serv (cd_empresa, codigo, cd_fornece,
>
> > seq_fornece, valor, seq_item, descricao,
quantidade)
>
> > Values
>
> > (:in_cod_empresa, :in_cotacao, :var_codfornecedor,
>
> >
>
> > :var_seqfornecedor, 0, :var_sequencia, :var_servico,
>
> > :var_quantidade) ;
>
> > end
>
> > end
>
> > end
>
> > --
>
> > ------------ --------- --------- --------- --------- --------- -
>
> ----
>
> > end
>
> > end
>
> > end
>
> >
>
> >
>
> > CAUSA : Token unknown - line 40, column 8
>
> > ?
>
> >
>
> >
>
> > Confirmar a Atualização do Parâmetro?
>
> > ------------ --------- ------
>
> > Yes No
>
> > ------------ --------- ------
>
> > ------------ --------- --------- --------- --------- --------- -
>
> ------------ --------
>
> > Uberdam Cavaletti
>
> > Formado em Tecnologia da Informação - Unoesc - Xxe
>
> > Pós-graduado em desenvolvimento Java - Unoesc - Xxe
>
> >
>
> > http://www.curricul ar.com.br/ berdam
>
> >
>
> > Visite
>
> > http://passandovene no.blogspot. com
>
> > ------------ --------- --------- --------- --------- --------- -
>
> ------------ --------
>
> >
>
> >
>
> >
>
> > Novos endereços, o Yahoo! que você conhece. Crie um email
>
> novo com a sua cara @ymail.com ou @rocketmail. com.
>
> > http://br.new. mail.yahoo. com/addresses
>
> >
>
> > [As partes desta mensagem que não continham texto foram removidas]
>
> >
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Novos endereços, o Yahoo! que você conhece. Crie um email
novo com a sua cara @ymail.com ou @rocketmail.com.
> http://br.new.mail.yahoo.com/addresses
>
> [As partes desta mensagem que não continham texto foram removidas]
>