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