![]() Mailinglisten-Archive |
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