Sql-Server-2005

Three-Valued Logic: TRUE, FALSE and UNKNOWN

Sergio Govoni

Il capitolo uno del libro Inside Microsoft SQL Server 2008: T-SQL Querying di Itzik Ben-Gan è davvero ricco di contenuti e dopo aver parlato di uno degli aspetti singolari (che caratterizza il linguaggio SQL) nell’articolo Logical Query Processing, parleremo ora di un altro aspetto altrettanto singolare: I possibili valori che ci possiamo aspettare, in SQL, come risultato della valutazione logica di un’espressione.

In molti linguaggi di programmazione valutando un’espressione logica possiamo aspettarci vengano restituiti solo due possibili valori, l’espressione può essere vera (TRUE) oppure falsa (FALSE). In SQL, un’espressione logica può restituire oltre ai valori TRUE, FALSE anche il valore “sconosciutoUNKNOWN.

Indexes and temporary table

Sergio Govoni

Le tabelle temporanee vengono tipicamente (e largamente) utilizzate per salvare dati e risultati intermedi durante un’elaborazione. In aggiunta, una volta terminata l’elaborazione, i risultati possono essere presentati all’utente attraverso una tabella temporanea. SQL Server fornisce la possibilità di utilizzare due tipi di tabelle temporanee, tutte memorizzate nel database di sistema tempdb:

  • Local temporary tables
  • Global temporary tables

Le local temporary tables sono visibili solo dall’utente che le ha create e solo all’interno della stessa connessione, vengono eliminate automaticamente da SQL Server quando l’utente si disconnette.

SQL Server e la legge sulla Privacy

Davide Mauri

Introduzione e finalità dell’articolo

E’ bene sottolinearlo subito: la legge sulla privacy ([1]) deve essere interpretata, e come tale ogni interpretazione può essere fatta in modo più o meno stringente. La finalità del presente articolo non vuole essere quella di capire come interpretare e quindi implementare tale legge, ma semplicemente una descrizione di tutte le soluzioni native di SQL Server che vi permettono di adempiere alla stessa. Il “livello”, sulla base dell’interpretazione che volete dare alla normativa, ed alla quale vorrete pertanto adeguarvi, sarà una decisione unicamente vostra, per la quale nè UGISS nè l’autore dell’articolo possono essere ritenuti responsabili.

ORDER BY nella clausola UNION in SQL Server 2000 e 2005 (o successivi)

Sergio Govoni

Con SQL Server 2000, vi siete mai imbattuti nel messaggio di errore numero 104 ?

Server: Msg 104, Level 15, State 1, Line 1
ORDER BY items must appear in the select list if the statement contains a UNION operator.

Questo messaggio viene restituito quando si utilizza l’operatore UNION per combinare i risultati di due o più istruzioni SELECT nelle cui dichiarazioni è presente una clausola ORDER BY e le colonne citate nell’ordinamento non sono parte (anche) della SELECT.

Not a Number Value in Float Field

Sergio Govoni

In questo articolo parleremo della situazione che si verifica quando nel DB vengono memorizzati dei valori numerici, in colonne di tipo float, che però non possono più essere letti correttamente.

Tutto è iniziato dalla segnalazione di un utente che lamentava un errore in fase di estrazione dei dati di fatturato. La versione di SQL Server in produzione è la 2000 (SP4 – versione 8.00.2039) e l’errore restituito durante l’esecuzione della query è: “An error occurred while executing batch. Error message is: Overflow aritmetico.

Ten Common SQL Programming Mistakes

Davide Mauri

Articolo che elenca e spiega come evitare i 10 più comuni errori che si fanno con T-SQL, che, secondo l’autore, sono i seguenti:

  1. NULLs and the NOT IN predicate
  2. Functions on indexed columns in predicates
  3. Incorrect subquery column
  4. Data type mismatch in predicates
  5. Predicate evaluation order
  6. Outer joins and placement of predicates
  7. Subqueries that return more than one value
  8. Use of SELECT *
  9. Scalar user-defined functions
  10. Overuse of cursors

Articolo veramente interessante, di breve lettura ma di grande utilità.

Reporting Services Scripter

Davide Mauri

Tool free per “estrarre” i report disponibili nel Report Manager ed ottenerne il relativo RDL. Oltre a questo permette l’estrazione di tutti gli oggetti memorizzati nel DB dei Reporting Services, come ad esempio immagini e sorgenti dati.

Questa la descrizione presa direttamente dal sito dell’autore:

Reporting Services Scripter is a .NET Windows Forms application that enables scripting and transfer of all Microsoft SQL Server Reporting Services catalog items to aid in transferring them from one server to another. It can also be used to easily move items on mass from one Reporting Services folder to another on the same server. Depending on the scripting options chosen, Reporting Services Scripter can also transfer all catalog item properties such as Descriptions, History options, Execution options (including report specific and shared schedules), Subscriptions (normal and data driven) and server side report parameters.