[firebase-br] Problema com Execute Statement com Insert
Kléber Caneva
kdcc em terra.com.br
Ter Maio 23 14:54:33 -03 2006
O Quoted é do Delphi... ele está montando PL/SQL..
[]´s
Kléber Caneva
----- Original Message -----
From: "Adriano Santos" <doiscliques em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, May 23, 2006 8:53 AM
Subject: Re: [firebase-br] Problema com Execute Statement com Insert
Com QuotedStr não funciona será?
wSQL1 ='Insert into teste Values(0, ' || ' + QuotedStr(RF) + ' || ', '''
|| wdataven
|| ''')';
Kléber Caneva <kdcc em terra.com.br> escreveu: Tente utilizando o
duplo-apostrofe para a data tb.:
wSQL1 ='Insert into teste Values(0, ' || '''RF''' || ', ''' || wdataven
|| ''')';
ou fazendo um Cast
wSQL1 ='Insert into teste Values(0, ' || '''RF''' || ', ''' || CAST(
wdataven as CHAR(10)) || ''')';
[]´s
Kléber Caneva
----- Original Message -----
From: "Andrei Luís"
To: "Firebase"
Sent: Monday, May 22, 2006 11:52 PM
Subject: [firebase-br] Problema com Execute Statement com Insert
Continuo na minha via crucis pra fazer um insert via SP.
Bem, a ideia é fazer um select em uma tabela para recuperar uns
valores, entre eles diversas datas de vencimento e valores de faturas.
O último problema que estou tendo é não conseguir fazer o insert de
uma variável data em um campo data.
Tabela de teste:
CREATE GENERATOR GEN_TESTE_REGISTRO_ID;
CREATE TABLE TESTE (
REGISTRO_ID INTEGER,
TESTE VARCHAR(250),
DATA DATE
);
SET TERM ^ ;
CREATE TRIGGER TESTE_BI FOR TESTE
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.REGISTRO_ID = GEN_ID(GEN_TESTE_REGISTRO_ID,1);
END
^
SET TERM ; ^
A SP de teste:
SET TERM ^ ;
CREATE PROCEDURE NEW_PROCEDURE
AS
DECLARE VARIABLE WSQL1 VARCHAR(100);
DECLARE VARIABLE WDATAVEN DATE;
begin
wdataven = current_date;
wSQL1 ='Insert into teste Values(0, ' || '''RF''' || ', ' || wdataven ||
')';
execute statement wsql1;
end
^
SET TERM ; ^
Joguei current_date apenas para teste, a variável wdataven será
preenchida com uma data recuperada em um select.
Ao executar, dá erro :
Overflow occurred during data type conversion.
conversion error from string "1979".
Se troco o sql dessa forma:
wSQL1 ='Insert into teste Values(0, ' || '''RF''' || ', wdataven' || ')';
Ao executar dá erro de column unknow wDataven
Se faço assim dá certo, mas não é current_date que preciso armazenar...
wSQL1 ='Insert into teste Values(0, ' || '''RF''' || ', current_date' ||
')';
Já tentei fazer cast( wdataven as Date) na linha onde monto o SQL e
cast(current_date as Date) na linha onde atribuo o valor à variável, e
o resultado é o mesmo.
O mais "legal": se tiro o '''RF''' e coloco wdataven no lugar,
funciona!!! Grava o mesmo 1979 que aparece em um dos erros acima.
Onde estou errando? Porque não grava uma variável data em um campo
data, e grava uma variável data em um campo varchar???
[]s
Andrei
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1148352784.419014.22460.aldavila.hst.terra.com.br,5345,Des15,Des15
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 22/05/2006 / Versão:
4.4.00/4767
Proteja o seu e-mail Terra: http://mail.terra.com.br/
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Adriano Santos
Colunista SQLMagazine e ClubeDelphi
Comissão Editorial da revista ClubeDelphi
---------------------------------
Yahoo! Search
Música para ver e ouvir: You're Beautiful, do James Blunt
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1148385258.109938.24196.almora.hst.terra.com.br,7251,Des15,Des15
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 22/05/2006 / Versão:
4.4.00/4767
Proteja o seu e-mail Terra: http://mail.terra.com.br/
Mais detalhes sobre a lista de discussão lista