Jag håller på att återskapa en Access-databas i SQL-server. I Access-databasen hade jag några kolumner som var satta med datatypen "text", och med egenskapen, "Indexerat, Ja-inga dubletter". Uppgifterna som fylls i dessa kolumner kollas alltså av databasen så att det inte förs in dubletter. Nu skulle jag behöva ha samma funktion i SQL-server. Någon som vet motsvarigheten till detta i SQL server? Insert Into tabell (....) Med risk för att verka korkad, vad ska finnas inom parentesen för "Where Not Exists", verifierar jag inmatade värden där på något sätt? Kan jag välja att kontrollera specifika kolumner? Samma funktion uppfylls ju om du sätter ett unikt constraint på kolumnen. I Enterprise manager makerar du tabellen, högerklickar >> "All tasks" >> "manage Indexes", välj sedan nytt. Välj kolumn och checka i "Unique Values". Då kan du inte lägga till dubletter av ett värde (eller jo, det går men bökigare än en vanlig Insert) . Jag håller med Marcus. Motsvarigheten i SQL server till funktion i Access?
Tack på förhand! Sv: Motsvarigheten i SQL server till funktion i Access?
Values (....)
Where Not Exists(...)Sv:Motsvarigheten i SQL server till funktion i Access?
Tack för hjälpen så långt!Sv: Motsvarigheten i SQL server till funktion i Access?
INSERT INTO ToYourTableName (PKField1, Field2, Field3)
SELECT PKField1, Field2, Field3
FROM SourceTableName
WHERE NOT EXISTS (SELECT NULL
FROM ToYourTableName
WHERE ToYourTableName.PKField1 = SourceTableName.PKField1)
Eller:
INSERT INTO ToYourTableName (PKField1, Field2, Field3)
SELECT PKField1, Field2, Field3
FROM SourceTableName
WHERE NOT SourceTableName.PKField1 IN (SELECT ToYourTableName.PKField1
FROM ToYourTableName)
Sv: Motsvarigheten i SQL server till funktion i Access?
Fördelen med att göra detta framför att bara göra en koll på Inserten är att man kan ge sig fan på att någon gång i framtiden kommer någon att lägga till en ny SP (eller ändra befintlig) och inte riktigt harkoll på logiken och dåvill man att databasen skall säga ifrån istället för att glatt lägga in dubbletter.Sv:Motsvarigheten i SQL server till funktion i Access?
Jag läste inte frågeställningen ordentligt. ;-)