[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