Ecco un metodo molto semplice per importare dati da Excel a SQL Server, l’unica impostazione da modificare è abilitare OPENROWSET e OPENDATASOURCE nella superficie di attacco di SQL SERVER (dal menu programmi).
SELECT * INTO XLImport3 FROM
OPENDATASOURCE(’Microsoft.Jet.OLEDB.4.0′,
‘Data Source=C:\FILES\DATI.xls;
Extended Properties=Excel 8.0′)…[Foglio1$]
Capita spesso di dover fare una UPDATE su una tabella SQL in cui vengano coinvolte delle aggregazioni. L’altro giorno dovevo fare un UPDATE su una tabella ed inserire il COUNT delle righe di un altra SELECT su una altra tabella. La prima cosa prova è stata nel scrivere la mia query in questo modo:
UPDATE Tabella1
SET Tabella1.Campo2 = Count (*)
FROM Tabella1 INNER JOIN Tabella2 ON Tabella1.Campo1 = Tabella2.Campo1
WHERE <condizione>
Eseguendo questa query SQL restituisce un errore di questo genere: Non si può visualizzare un’aggregazione nell’elenco impostato di un’istruzione UPDATE. Cioè SLQ server non accetta le aggregazioni su una istruzione di UPDATE. A questo punto mi sono messo a cercare una soluzione al mio problema. La soluzione è questa:
(more…)
L’altro giorno al lavoro mi sono trovato in questa situazione in cui dovevo mandare uno script ad un cliente per creare un campo identity(contatore) su una tabella precedentemente creata. Dopo un po di lavoro sono riuscito a fare questo script che vorrei condividere con voi.
Il mio esempio si basa su una tabella A con due colonne (Primo e Secondo) dove Primo è un intero mentre Secondo è stato dichiarato come varchar. La prima fase sono il settaggio delle variabili di sql server perfare questa cosa.
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO