Re: [firebase-br] Execute Statement com Insert e parâmetros

Kléber Caneva kdcc em terra.com.br
Sex Maio 19 13:12:44 -03 2006


Tenta assim:

wtipo = 'RF';

Execute Statement 'Insert into teste values (''' || :wtipo || ''')';

É preciso do duplo apostrofe (não aspas) por que o tipo é string..

[]´s

Kléber Caneva



----- Original Message ----- 
From: "Andrei Luís" <compuvale.software em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, May 19, 2006 10:44 AM
Subject: Re: [firebase-br] Execute Statement com Insert e parâmetros


Alisson, obrigado pelas respostas.

Você disse em outra msg que não fez Execute Statement com Insert, somente
Grant e Revoke, acho (é um chute) que com grant e revoke não dá problema,
pois o usuário é tratado como um objeto, ou seja o nome do usuário não é um
dado em uma tabela...

Em Delphi consigo fazer, mas gostaria de passar essa rotina para o banco,
trata-se de uma rotina de faturamento.

Enfim... continuo apanhando...

[]
Andrei


Em 19/05/06, Alisson <arsuart em uol.com.br> escreveu:
>
> Olha soh o exemplo q tenho em uma SP...
> q utilizo o execute Statement..
>
>             If (:Direito = 'R') Then
>                 Atributo = 'References';
>             Else If (:Direito = 'I') then
>                     Atributo = 'Insert';
>                  Else If (:Direito = 'U') Then
>                          Atributo = 'Update';
>                       Else If (:Direito = 'D') Then
>                               Atributo = 'Delete';
>                            Else If (:Direito = 'S') Then
>                                    Atributo = 'Select';
>
>              If (:Tipo = 'G') Then
>                 Execute statement
>                         'Grant '||:Atributo||' on '||:nome_tabela||' To
> '||:user_name||';';
>              If (:Tipo = 'R') Then
>                 Execute statement
>                         'Revoke '||:Atributo||' on '||:nome_tabela||' From
> '||:user_name||';';
>         End
>
> Isso aqui funciona sem problema....!!!
>
> e no delphi faço o exemplo q mandei na mensagem anterior...!!!
>
> --
> Alisson R.S.
> Global Soft - Desenvolvimento de Sistemas
>
> "Andrei Luís" <compuvale.software em gmail.com>
> escreveu na mensagem
> news:bae8f99c0605181415k27a74b59p84b45b4599a99886 em mail.gmail.com...
> Olá,
>
> Tô me batendo a tarde inteira por uma coisa básica...
>
> Em uma SP quero fazer um insert atraves de execute statement usando
> parâmetros no insert, +/-, vou enumerar as formas que tentei e os
> respectivos erro:
>
> 1)
> wtipo = 'RF';
> Execute Statement 'Insert into teste values ( :wtipo )';
> Column Unknow WTIPO
>
> 2)
> wtipo = '''RF''';  -- <- tres aspas simples RF e mais tres aspas simples
> Execute Statement 'Insert into teste values ( :wtipo )';
> Arithmetic overflow or division by zero ....
>
> 3)
> wtipo = '''RF''';  -- <- tres aspas simples RF e mais tres aspas simples
> Execute Statement 'Insert into teste values (' || :wtipo || ')';
> Arithmetic overflow or division by zero ....
>
> 4)
> wtipo = 'RF';
> Execute Statement 'Insert into teste values (' || :wtipo || ')';
> Column Unknow WTIPO
>
> Também preciso de uma dica usar uma variavel integer no execute statement
> e
> gravá-la em um campo string, usei cast(wtipo as varchar(2)) e estou tendro
> problema
>
> []s
> Andrei
>
> FB 1.5.2
>
______________________________________________
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,1148046383.968827.20050.balcomo.hst.terra.com.br,6463,Des15,Des15

Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 18/05/2006 / Versão: 
4.4.00/4765
Proteja o seu e-mail Terra: http://mail.terra.com.br/








Mais detalhes sobre a lista de discussão lista