Conditionnel INSERT INTO dans postgres

Je suis en train d'écrire une procédure de réservation pour une maquette d'avion de réservation de la base de données et ce que je veux vraiment, c'est quelque chose comme ceci:

IF EXISTS (SELECT * FROM LeadCustomer 
    WHERE FirstName = 'John' AND Surname = 'Smith') 
THEN
   INSERT INTO LeadCustomer (Firstname, Surname, BillingAddress, email) 
   VALUES ('John', 'Smith', '6 Brewery close,
            Buxton, Norfolk', cmp.testing@example.com');

Mais Postgres ne prend pas en charge IF déclarations sans chargement le PL/pgSQL extension. Je me demandais si il y avait moyen de faire l'équivalent de ce ou si il va juste y avoir une certaine interaction de l'utilisateur dans cette étape?

  • Pourquoi ne pas charger le PL/pgSQL extension, alors?
  • Travailler avec l'installation de postgres sur les ordinateurs de test. À l'aide de cette extension n'est pas dans les spécifications.
InformationsquelleAutor The General | 2013-03-29