Avatar billede dotdonk Nybegynder
15. juni 2006 - 17:24 Der er 1 kommentar og
1 løsning

IF NOT EXISTS, indsætter alligevel

Hej..

Jeg har en SPROC, som kun skal INSERT data, hvis ikke det allerede existrere i databasens tabel.

Men den indsætter uanset hvad. Hvad gør jeg galt?

T-SQL:

--------------------------------------------

ALTER PROCEDURE dbo.uspInsertRssItems
(
    @View bit,
    @Title varchar(1000),
    @Link varchar(500),
    @Description text,
    @Author varchar(200),
    @Pubdate varchar(50),
    @SiteID int,
    @DateCreated datetime,
    @IsDisabled bit,
    @ID int output   
)
AS

SET NOCOUNT ON

IF NOT EXISTS (SELECT * FROM RssItems WHERE Link = @Link)        
   
    BEGIN
   
        INSERT INTO RssItems
            (
                [View],
                Title,
                Link,
                Description,
                Author,
                Pubdate,
                SiteID,
                DateCreated,
                IsDisabled
            )
        VALUES
            (
                @View,
                @Title,
                @Link,
                @Description,
                @Author,
                @Pubdate,
                @SiteID,
                @DateCreated,
                @IsDisabled
            )       
END

--------------------------------------------


Mvh

dotdonk
Avatar billede arne_v Ekspert
15. juni 2006 - 18:40 #1
har du overvejet et unikt index paa link ?
Avatar billede dotdonk Nybegynder
15. juni 2006 - 19:38 #2
jeg har fundet ud af det...

jeg anvender SqlBulkCopy, så det er klart at den ikke kan finde et match.

jeg har lavet en metode som tjekker link inden det bliver smidt i SqlBulkCopy og ikke efter.

Men tak for svaret.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester