[Cascavel-pm] reutilizar variaveis

Marco Lima braun.lima em gmail.com
Sexta Agosto 8 16:32:59 PDT 2008


Salve!

Você gostaria de fazer isso no RDBMS ou no DBI?? pelo RDBMS será necessário
saber de qual estamos falando.

Caso deseje fazer isso no no DBI, seria melhor fazer assim:

$sth2->execute($customer, $descicao, $customer) or die ("Nao foi possivel
executar o comando:", $sth->errstr(),"\n");

E não utilizar $sth->bind_param(); pois a vantagem desse é quando queremos
declarar o tipo do parametro (bind_type), que pelo que estou vendo não é o
caso, dessa forma você evita a execução desnecessária do bind_param(), já
que no caso do execute() será realiza a substituição dos valores no
Statement através de RegExp no proprio execute().

Abraços;

2008/8/8 Elvio Barbalho <elvio.barbalho em gmail.com>

> Senhores boa noite tenho a seguinte instrução abaixo:
>
> my $sth2 = $dbh->prepare("
>                     Declare
>                        v_msg_erro        VARCHAR (150);
>                     BEGIN
>                     GNVBILLCANCEL.CREATEREBILLFORCUSTOMER(?,?);
>                     GNVGEN.GNVCOMMIT;
>                     COMMIT;
>                     EXCEPTION WHEN OTHERS THEN
>                      v_msg_erro := SUBSTR (SQLERRM, 1, 100);
>                      INSERT      /*+APPEND*/INTO
> extract.ope_analise_controle_erro (customer_ref, account_num, data_insert,
> cod_erro, ds_erro)
>                   VALUES (?, null,SYSDATE,'CANCEL_FAT',
> 'CREATEREBILLFORCUSTOMER: '||v_msg_erro);
>                 COMMIT;
>                     END;") or die("nao foi possivel preparar o comando: ",
> $dbh->errstr(), "\n");
>                 $sth2->bind_param( 1, $customer);
>                 $sth2->bind_param(2, $descicao);
>                 $sth2->execute() or die ("Nao foi possivel executar o
> comando:", $sth->errstr(),"\n");
>
>
>
>
> no insert INSERT      /*+APPEND..........* *o primeiro campo a ser
> inserido e o conteudo armazenado em *$sth2->bind_param( 1, $customer);*que tambem é utilizado em
> *"GNVBILLCANCEL.**CREATEREBILLFORCUSTOMER(?,?);"* tenho que declara-lo
> ($sth2->bind_param( 3, $customer); novamente para utiliza-lo no
> insert??????? nao teria uma forma de utilizar $sth2->bind_param( 1,
> $customer); que ja esta declarado????????
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>



-- 

Marco Lima
braun.lima em gmail.com

"O que sabemos, saber que o sabemos. Aquilo que não sabemos, saber que não o
sabemos: eis o verdadeiro saber."
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20080809/fd7f105e/attachment.html>


Mais detalhes sobre a lista de discussão Cascavel-pm