platvormi kõige kõrgemale turvatasemele ehk süsteemsete draiverite piirkonda juurduv ning seetõttu raskesti ravitav viirus Infis. Teiseks teatasid antiviiruskompaniid kuu lõpus esimese MS Projectile kirjutatud, kuid sisuliselt multi platvormse makroviiruse avastamisest, mis suutis nakatada ühtmoodi hästi nii MS Projecti, kui MS Wordi faile. Kolmandaks ilmutas end juba juulist tuntud ja viirusekirjutajate tähelepanu programmeerimiskeelele Visual Basic Script (VBS) tõmmanud ning üheks kurva kuulsusega viiruse LoveLetter esivanemaks saanud skriptiviirus Freelinks. Novembris vapustas maailma teade uuest e-posti kaudu levivast ,,stealth"-usside põlvkonnast, mis ei kasutanud oma koopiate levitamiseks enam kirjadele lisatavaid faile ning juurdusid arvutitele kohe peale nakatunud kirja avamist. Esimeseks selliseks ussiks oli BubbleBoy, millele järgne KakWorm. Eranditult kõik seda tüüpi ussid
Selleks tuleb nime ette panna kahed trellid ##. Sellised tabelid kustuvad, kui katkeb viimane seda tabelit kasutav ühendus. Ajutised tabelid on kasulikud keerukate arvutustulemuste hoidmiseks või keerulistest JOIN lausetest saadud tulemuste hoidmiseks edasiseks töötlemiseks. Samas tuleb arvestada, et ajutistel tabelitel pole enam mingit seost läheandmetega e. sealt otsimiseks ei saa kasutada indekseid Tsükkel, valik Transact-SQL´il on kasutada mitmedki programmeerimiskeelele omased tunnused, kaasa arvatud muutujad, tsükkel ja valik. Nende tutvustamiseks väike koodilõik. Koodilõiku saab eraldi käivitades proovida. Pärast, kui on veendutud, et lõik töötab, saab selle protseduuriks vormistada, kirjutades ette CREATE PROCEDURE protseduurinimi AS. Siinses näites luuakse kõigepealt kaks muutujat ning määratakse nende tüübid. Nagu näha, on muutujatel @-märk ees. DECLARE @i INT, @s as VARCHAR(max) Edasi saavad muutujad enesele väärtused SET @i=1