6 lis 2009

Klasa inicjująca połączenie z bazą mysql

<?
class app_db
{
 private $dbconn;
 static $instance;
 private function __clone(){}

static function instance()
 {
  if(empty(self::$instance)) self::$instance=new app_db();
  return self::$instance;
 }
public function __construct() {
global $config;

$this->dbconn = mysql_connect($config['db']['host'], $config['db']['user'], $config['db']['password']);
  if($this->dbconn) {
   mysql_select_db($config['db']['database']);
   mysql_query("SET NAMES 'utf8'");
  }
 }
}
?>
6 lis 2009

Trigger w PostgresSQL

Definicja triggera

CREATE TRIGGER set_mapa_tgr
BEFORE INSERT
ON m_trips_s
FOR EACH ROW
EXECUTE PROCEDURE set_mapa_ft();

Definicja funkcji triggera

CREATE OR REPLACE FUNCTION set_mapa_ft()
RETURNS trigger AS
$BODY$
BEGIN
IF NEW.h_opcja = 'Chełm' THEN
NEW.opcja2 = 'Chełm'; --NEW.opcja3;
RAISE NOTICE 'Wartosc2: %', NEW.opcja2 ;
ELSIF NEW.h_opcja = 'Warszawa' THEN
NEW.t_depPlace = 'Warszawa';
END IF;
RAISE NOTICE 'Wartosc: %', NEW.t_depPlace;
RETURN NEW;
END
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION set_mapa_ft() OWNER TO mapa;