Google
[IT] INSERT, esempi

INSERT, esempi
  •   insert into profili_utenti 
        select distinct(id_utente), 1 
        from utenti
    		
    Esempio classico. I valori da inserire nella tabella provengono da un select. L'importante e' che coincidano il tipo ed il numero degli attributi fra la tabella dove inserire e quella generata dal select. In questo caso la tabella ha come definizione profili_utenti(id_profilo number not null, id_utente number not null). La chiave primaria e' data dalla tupla intera (id_profilo, id_utente), vedi esempi "CREATE". Per questo motivo uso il distinct sull'id_utente della tabella utenti. L'unica cosa da sapere sulla tabella utenti e' che l'id_utente fa parte della chiave primaria e non puo' avere valori nulli. Se cosi' non fosse, potrebbero esserci dei problemi durante l'inserimento. Un'ultima cosa.
  •   Non va!!!
      insert into amministratori_forum_archivio
        select id_amministratore, id_forum, data_inizio
        from amministratori_forum
        where id_amministratore=12792 and id_forum=31
    
      Ok!
      insert into amministr_forum_archivio
        select id_amministratore, id_forum, to_date(to_char(data_inizio))
        from amministratori_forum
        where id_amministratore=12792 and id_forum=31
    
      Ok!
      insert into amministratori_forum_archivio
        select id_amministratore, id_forum, trunc(data_inizio)
        from amministratori_forum
        where id_amministratore=12792 and id_forum=31
    
      Ok!
      insert into amministratori_forum_archivio
        select id_amministratore, id_argomento, sysdate
        from amministratori_forum
        where id_amministratore=12792 and id_forum=31
    		
    Quest'esempio e' un po' particolare. Il primo insert non funziona, o meglio, non provoca errore ma si blocca in attesa per un tempo indefinito. Le piccole trasformazioni dei 3 insert successivi, consentono al tutto di funzionare. Ok, e' vero, alcuni non fanno la stessa cosa del primo, ma e' interessante vedere quali tipi di insert funzionino e quali no. Il tutto si e' verificato su Ora8.
Home Giansante Gabriele (c) 1999-2006