T-Sql

Trigger in SQL Server: FAQ e Best practices

Sergio Govoni

I Trigger sono spesso motivo di discordia tra sviluppatori e DBA, tra chi personalizza una soluzione standard e chi la fornisce, tra clienti e software vendor. Sembrano facili da scrivere, ma scrivere Trigger efficienti non è affatto semplice e quando la loro complessità aumenta, possono presentare effetti collaterali in grado di confondere persino l’autore. Tuttavia, per quanti difetti possano avere, hanno un pregio dannatamente importante: permettono di risolvere problemi che non potrebbero essere gestiti in qualsiasi altro layer applicativo. Quindi, se non potete farne a meno, non vi resta che imparare i trucchi e delle best practices per scriverli e gestirli in modo efficiente.

Come effettuare il Debug di un Trigger (T-SQL)

Sergio Govoni

I più importanti linguaggi di programmazione hanno strumenti di debug integrati direttamente nell’IDE. Il debugger ha tipicamente un’interfaccia grafica che consente di esaminare i valori che assumono le variabili durante l’esecuzione, il flusso del programma (step-by-step) e permette di definire punti di interruzione in corrispondenza dei quali fermare l’esecuzione del programma.

Qual è la tabella più grande nel DB corrente?

Sergio Govoni

Può succedere di avere la necessità di sapere quale sia la tabella più grande (in termini di spazio occupato), nel database su cui si sta lavorando.

Ci sono diversi modi per rispondere a questa domanda, si potrebbe utilizzare il report standard Disk Usage by Top Table fornito da SQL Server Management Studio (SSMS) oppure, se si volesse effettuare l’operazione attraverso T-SQL, si potrebbe eseguire la stored procedure di sistema sp_spaceused per ogni tabella del DB, salvando tutti i risultati parziali in una tabella temporanea per poi ordinarli in funzione della colonna “reserved” o “data”.

AT TIME ZONE (Transact-SQL)

Pasquale Ceglie

Si applica a: Azure SQL Database, SQL Server 2016 Preview


Converte un inputdate al valore datetimeoffset corrispondente nel fuso orario di destinazione. Se inputdate viene fornito senza le informazioni di offset, la funzione applica l’offset del fuso orario partendo dal presupposto che il valore inputdate viene fornito nel fuso orario di destinazione. Se inputdate viene fornito come valore datetimeoffset, allora la clausola AT TIME ZONE converte nel fuso orario di destinazione utilizzando regole di conversione del fuso orario.

DROP IF EXISTS

Davide Mauri

SQL Server 2016 ha tante novità e le più grosse sono ormai di pubblico dominio e avremo modo di parlarne in modo approfondito sicuramente per i prossimi mesi. Ci sono alcune migliorie molto più piccole che sono un po’ passate in sordina, ma che sono comunque molto utili ed interessanti per chi lavora con il prodotto tutti i giorni.