Soci (Soczó Zsolt) szakmai blogja

2015.01.07.

SQL fejtörő 3.

Filed under: Adatbázisok,SQL Server,Szakmai élet,Teaser — Soczó Zsolt @ 10:13

Hogyan biztosítanád egy SQL Server táblában, hogy egy oszlop csak egyedi értékeket tartalmazzon, de NULL-ból bármennyi lehessen benne?

USE TempDB
GO

set ansi_nulls on;
go
CREATE TABLE AlmaTabla (Oszlop1 INT NULL);
GO

--------------------------------------
-- Ide kellene valami, amitol az alabb lathato eredmenyek szuletnek
--------------------------------------

--Elvart eredmeny:

INSERT INTO AlmaTabla (Oszlop1) VALUES (1)		--ok
GO
INSERT INTO AlmaTabla (Oszlop1) VALUES (2)		--ok
GO
INSERT INTO AlmaTabla (Oszlop1) VALUES (NULL)	--ok
GO
INSERT INTO AlmaTabla (Oszlop1) VALUES (NULL)	--ok
GO
INSERT INTO AlmaTabla (Oszlop1) VALUES (2)		--exception
GO

DROP TABLE AlmaTabla;
GO

A Test Driven Development tanfolyam következő felvonása február kilencedikén lesz, szeretettel várlak.

6 Comments

  1. CREATE UNIQUE INDEX IX_Oszlop1 ON AlmaTabla (Oszlop1) WHERE Oszlop1 IS NOT NULL

    Comment by Rici — 2015.01.07. @ 14:42

  2. A filtered index segítségével (MSSQL Server 2008-tól):

    create unique nonclustered index idxAlmaTabla__Oszlop1 on AlmaTabla(Oszlop1) where Oszlop1 is not null

    Comment by Atcom — 2015.01.07. @ 17:10

  3. CREATE TABLE [dbo].[Tabla](
    [ID] [int] NULL
    ) ON [PRIMARY]

    CREATE UNIQUE NONCLUSTERED INDEX [UniqueExceptNulls]
    ON [dbo].[Tabla] (ID)
    WHERE [ID] IS NOT NULL

    Comment by Meister — 2015.01.07. @ 20:08

  4. Bocs, a te kódod alapján ez a kód:

    CREATE UNIQUE NONCLUSTERED INDEX [UniqueExceptNulls]
    ON [dbo].[AlmaTabla] (Oszlop1)
    WHERE [Oszlop1] IS NOT NULL

    Comment by Meister — 2015.01.07. @ 20:12

  5. CREATE UNIQUE INDEX UIX_Oszlop1
    ON AlmaTabla(Oszlop1)
    WHERE Oszlop1 IS NOT NULL

    Comment by Molnár Csaba — 2015.01.08. @ 08:44

  6. […] előző fejtörőben ez volt a kérdés: “Hogyan biztosítanád egy SQL Server táblában, hogy egy oszlop csak […]

    Pingback by Soci (Soczó Zsolt) szakmai blogja » Blog Archive » SQL fejtörő 3. megoldások — 2015.01.09. @ 10:21

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress