English
Instant Developer Foundation Documentazione
  • Note di rilascio
  • Instant Developer Foundation
  • Versioni precedenti
  • Versione 8.5.3800
  • Correzioni

ID: Selec

IMDB copia link

Descrizione del difetto

Errore nell'esecuzione della riga di codice Select(IMDB)-Insert(DB) qualora la primary key della tabella di destinazione fosse assente. Tale riga di codice, mostrata nell'immagine seguente


Select(IMDB)-Insert(DB)

viene infatti eseguita nel modo seguente: viene effettuato un for-each sul risultato della query IMDB. Per ogni riga della query IMDB viene effettuata un'operazione di update sulla tabella del database. Se l'operazione di update non modifica nessuna riga allora viene eseguita un'istruzione di insert sulla tabella del database. Se, però, non viene inserita nella select list tutta la primary key della tabella di destinazione l'operazione di update modifica sempre tutte le righe causando effetti non attesi. A partire dalla versione 8.5 Instant Developer effettua il controllo della presenza dell'intera primary key nella select list. Qualora parte della primary key sia assente genera l'errore "1578 - Nelle query Select(IMDB)-Insert(DB) è necessario che tutti i campi della PK della tabella di destinazione siano assegnati. Devi quindi aggiungere anche il campo [CAMPO]" dove [CAMPO] identifica il campo mancante.

Effetti del malfunzionamento

  • L'istruzione Select(IMDB)-Insert(DB) modificava tutte le righe della tabella di destinazione se manca parte della primary key nella select lsit.

Soluzioni

Utilizzare la versione 8.5.3800. Qualora non sia possibile utilizzare tale versione è sufficiente inserire i riferimenti alla primary key nella select list della query.

Funzionalità interessate

La copia di dati da tabella IMDB a tabella DB tramite l'istruzione Select(IMDB)-Insert(DB).

Ultima modifica: 24/03/2011 / Validità: da 8.5.3800

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum