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