phpbar.de logo

Mailinglisten-Archive

[php] RE: LOB's der Schrecken der Nation :-)

[php] RE: LOB's der Schrecken der Nation :-)

thies_(at)_digicol.de thies_(at)_digicol.de
Tue, 20 Jun 2000 16:17:18 +0200


On Tue, Jun 20, 2000 at 03:44:24PM +0200, Thomas Fromm wrote:
> Hallo,
> 
> 
> also nachdem ich nochmal ein wenig gegruebelt hab, hab ich eine loesung fuer
> das update problem von LOB's gefunden.
> 
> zuerst waehlt man den datensatz fuer ein update aus, dieser besitzt dann eine
> exclusive sperre.
>  	    $req=sprintf("SELECT data_%s FROM %s WHEREid_%s='%s'", 
> 		$this->type,$this->type,$this->type,$jobid);
> 	    $this->parse($req);
> 	    $this->execute($this->stmt,OCI_DEFAULT);
> 
> nun macht man ein update und fuegt die daten wieder ein. 
> 
> 	    $req=sprintf("UPDATE %s SET data_%s=:data WHERE id_%s='%s'",
> 			 $this->type,$this->type,$this->type,$jobid);
> 	    $this->parse($req);
> 	    _(at)_OCIBindByName($this->stmt,":data",$data,-1);
> 	    $this->execute($this->stmt,OCI_DEFAULT);
> 	    $this->commit();
> 
> durch das commit wird die sperre aufgehoben und die aenderung festgeschrieben.

    noch einfacher (und in "einem gang") geht es mit 
    "select ... for update"

    tc
> 
> verwendet man BFILE ist keine explizite sperre notwendig, diese ist nur fuer
> intern gespeicherte LOB's notwendig.
> Ausserdem sollte man aufpassen, sofern eine LobSpalte ein NULL wert hat kann
> man erst, nachdem man diese auf ein EMPTY_BLOB() oder CLOB gesetzt hat
> geupdatet werden. Auch dies ist bei BFILE nich notwendig.
> 
> 
> gruss
> thomas
> 
> 
> -- 
> --------------------------------------------------------- 
> Mail: tfromm_(at)_cs.uni-potsdam.de 
> Web: http://codewizards.org/thomas.fromm
> Job: http://www.inubit.com 
> PHP-Stand auf Europas gr??ter Linux-Messe: 'Linux-Tag' ! 
> weitere Infos _(at)_ http://www.dynamic-webpages.de/
> 
> -- 
> ** Durchgehend ge?ffnet: http://www.php-center.de **
> Die PHP-Liste: mailto:php_(at)_php-center.de
> http://infosoc.uni-koeln.de/mailman/listinfo/php

-- 

Thies C. Arntzen                 "One Big-Mac, Small Fries and a Coke!"
Digital Collections             Phone +49 40 235350 Fax +49 40 23535180
Hammerbrookstr. 93                              20097 Hamburg / Germany


php::bar PHP Wiki   -   Listenarchive