Home > Postgresql - SQL, Server > postgresql : Eseguire una SQL UPDATE query di test

postgresql : Eseguire una SQL UPDATE query di test

In diverse circostanze risutla utile eseguire una query di UPDATE in modalità test senza che le modifiche vengano salvate e  diventino persistenti.

Per realizzare una query UPDATE di tipo test in postgresql può essere usato il seguente schema:

BEGIN;
UPDATE .........  ;
SELECT  .......   ;
ROLLBACK  ;

Di seguito un esempio pratico

BEGIN;
UPDATE esf SET 
 "IDUser" = esf.itemid WHERE 
 esf.email IN ( SELECT esf.email 
 -- SELECT contacts.itemid, contacts.confirmdate, contacts.email, esf.itemid AS e_itemid, esf.email AS e_email
 FROM contacts
 LEFT JOIN esf ON contacts.email::text = esf.email::text
 WHERE contacts.email::text = esf.email::text
 ORDER BY esf.createddate ) ;
SELECT"IDUser" FROM esf WHERE "IDUser" > 0 ;
ROLLBACK;

Esempio semplice

BEGIN ;
UPDATE esf SET "Organization" = company ;
SELECT "Organization" FROM esf WHERE "Organization" is NOT NULL ;
ROLLBACK ;

Altro esempio di sql query di test utilizzando query tools di pgadmin3 in postgresql  con le istruzioni di test roolback incluso disabilitare con il comment  —

Query tool pgadmin3

-- BEGIN; 

UPDATE esf SET 
   "itemid" = contacts.itemid 
   FROM contacts 
   WHERE esf.email = contacts.email AND
   esf.email IN 
   ( SELECT esf.email       
       FROM contacts 
       LEFT JOIN esf ON contacts.email::text = esf.email::text
       WHERE contacts.email::text = esf.email::text AND esf.id < 2000
       ORDER BY esf.createddate ) ;  

-- SELECT"itemid" FROM esf WHERE "itemid" < 22000 ; 

-- ROLLBACK;

sql UPDATE comando base

UPDATE contacts
SET firstname=name, lastname= name
WHERE firstname IS NULL AND name IS NOT NULL AND itemid < 100
 UPDATE sales
 SET payterms =
       CASE
          WHEN (SELECT SUM(qty) FROM sales s1
              WHERE sales.stor_id = s1.stor_id) < 10
             THEN 'On Billing'
         WHEN (SELECT SUM(qty) FROM sales s1
               WHERE sales.stor_id = s1.stor_id) < 100
              THEN 'Net 30'
        ELSE 'Net 60'
        END

INSERT INTO sitepage
SELECT sitepage_backup.*
FROM sitepage_backup
WHERE sitepage_backup."IDpage" = 442

Pagina riepilogativa

Query SQL  – PostgreSQL

Postgresql 

query di tipo plpgsql 

Creare eliminare database e tabelle

Advertisements
  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: