Per inserti di grandi dimensioni, ho creato layout fantasiosi (e forse pignoli). Alcuni esempi:
INSERT MyTable (MyTableId, Name, Description, SomeStringData1
,SomeStringData2, SomeStringData3, SomeStringData4, MoreStringData1
,MoreStringData2, MoreStringData3, MoreStringData4, SomeNumericData1
,SomeNumericData2, SomeNumericData3, SomeNumericData4, MoreNumericData1
,MoreNumericData2, MoreNumericData3, MoreNumericData4, BigBlobAA
,BigBlobBB, EnteredAtDate, UpdatedAtDate, RevisedAtDate
,NeedAnotherDate)
values
(@MyTableId, @Name, @Description, @SomeStringData1
,@SomeStringData2, @SomeStringData3, @SomeStringData4, @MoreStringData1
,@MoreStringData2, @MoreStringData3, @MoreStringData4, @SomeNumericData1
,@SomeNumericData2, @SomeNumericData3, @SomeNumericData4, @MoreNumericData1
,@MoreNumericData2, @MoreNumericData3, @MoreNumericData4, @BigBlobAA
,@BigBlobBB, @EnteredAtDate, @UpdatedAtDate, @RevisedAtDate
,@NeedAnotherDate)
questo funziona se si è maledettamente certo che voi non siate mai l'inserimento di colonne o in altro modo modificare ciò che viene inserito. Ottiene tutto in uno schermo e rende abbastanza semplice individuare il valore da assegnare a quale colonna.
Se i valori inseriti sono suscettibili di modificare o sono complesse (come ad esempio istruzioni case), faccio la seguente (outdent tutto ma ogni quinto punto):
INSERT MyTable
(
MyTableId
,Name
,Description
,SomeStringData1
,SomeStringData2
,SomeStringData3
,SomeStringData4
,MoreStringData1
,MoreStringData2
,MoreStringData3
,MoreStringData4
,SomeNumericData1
,SomeNumericData2
,SomeNumericData3
,SomeNumericData4
,MoreNumericData1
,MoreNumericData2
,MoreNumericData3
,MoreNumericData4
,BigBlobAA
,BigBlobBB
,EnteredAtDate
,UpdatedAtDate
,RevisedAtDate
,NeedAnotherDate
)
values
(
MyTableId
,Name
,Description
,SomeStringData1
,SomeStringData2
,SomeStringData3
,SomeStringData4
,MoreStringData1
,MoreStringData2
,MoreStringData3
,MoreStringData4
,case
when something then 'A'
when orOther then 'B'
else 'Z'
end
,SomeNumericData2
,SomeNumericData3
,SomeNumericData4
,MoreNumericData1
,MoreNumericData2
,MoreNumericData3
,MoreNumericData4
,BigBlobAA
,BigBlobBB
,EnteredAtDate
,UpdatedAtDate
,RevisedAtDate
,NeedAnotherDate
)
(Dopo aver aggiunto che istruzione CASE, I " contati i rientri "per assicurarsi che tutto fosse allineato correttamente.)
Ci vuole un po 'di sforzo per sistemare le cose correttamente, ma può semplificare la manutenzione, il supporto e le successive modifiche.
Questo è uno dei veri fastidi di SQL.E causa errori, poiché è facile ottenere l'ordine modificato per sbaglio e se i tipi di dati sono compatibili, improvvisamente stai mettendo il numero di telefono nella colonna di posta elettronica senza errori. – HLGEM
Anche io desidero che SQL fornisca un modo per farlo. Migliorerebbe notevolmente la leggibilità. –