[firebase-br] parametros Stored Procedure duvida

Felipe Sanches felipesans em terra.com.br
Qui Jul 6 10:12:59 -03 2006


Entendi a sua Lógica Airtom, mas da maneira que eu fazia realmente não dá?
Usar o componente ib_Storedprocedure realmente deixa a aplicação mais 
rápida ou não?
Porque nesse caso eu posso montar uma query dinamicamente e enviar os 
comandos para ele e executar.

At.
Felipe


Forum ASR wrote:

>.: I M P O R T A N T E :. Compatível com o firebird 1.5 ou superior
>
>Acabei de fazer um exemplo, não testei, mas acho que vc pode compreender 
>a lógica e fazer suas devidas correções:
>
>SET TERM !!;
>CREATE PROCEDURE SP_PARAM_ATUALIZAR
>(PAR_1 INTEGER
>,PAR_2 INTEGER)
>AS
>DECLARE VARIABLE V_SQL VARCHAR(1000);
>DECLARE VARIABLE V_UTILIZA_VIRG SMALLINT = 0;
>BEGIN 
>  -- NÃO NECESSITA ATUALIZAÇÃO
>  IF ((PAR_1 IS NULL) AND (PAR_2 IS NULL)) THEN 
>    EXIT;       
> 
>  V_SQL = 'UPDATE NOME_TABELA';
>  V_SQL = V_SQL || ' SET';
> 
>  -- PARÂMETRO COM CONTEÚDO
>  IF (PAR_1 IS NOT NULL) THEN 
>  BEGIN
>    V_SQL = V_SQL || ' PAR_1 = ' || :PAR_1
>    V_UTILIZA_VIRG = 1;
>  END 
>   
>  IF (PAR_2 IS NOT NULL) THEN
>  BEGIN
>    IF (V_UTILIZA_VIRG = 1) THEN
>      V_SQL = V_SQL || ' , ';
> 
>    V_SQL = V_SQL || ' PAR_2 = ' || :PAR_2  
>  END
> 
>  EXECUTE STATEMENT V_SQL; 
>END !!
>SET TERM ;!!
>
>Atenciosamente,
>
>Airton Salviano Ramos de Souza
>Analista de Sistemas
>www.asreassociados.com.br
>
>Felipe Sanches escreveu:
>  
>
>>Pessoal, eu tenho um Stored procedure para inserir e atualizar uma 
>>tabela do meu sistema com 10 parâmetros,  a questão é a seguinte em 
>>determinados momentos eu não quero
>>Atualizar ou inserir dados em todos os campos de uma vez, as vezes quero 
>>somente colocar dados no parâmetro 1,2,3 e os outros deixa como está sem 
>>alterar seu valor na tabela, mas quando executo a SP e passo valores 
>>apenas para esses 3 parâmetros que realmente quero atualizar , a 
>>S.Procedure apaga o conteúdo dos outros.
>>Vcs sabem o como eu trato esse caso? Devo fazer alguma coisa a mais na 
>>procedure?
>>
>>Não sei se fui claro, se o não entenderem me avisem que eu tento 
>>explicar de outra maneira.
>>
>>Felipe
>>
>>
>>______________________________________________
>>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
>>
>>  
>>    
>>
>
>
>______________________________________________
>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
>
>
>
>  
>




Mais detalhes sobre a lista de discussão lista