Re: [firebase-br] Execute Statement com Insert e parâmetros
Andrei Luís
compuvale.software em gmail.com
Sex Maio 19 10:44:40 -03 2006
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
>
Mais detalhes sobre a lista de discussão lista