Нет значений дублирования - PullRequest
0 голосов
/ 30 марта 2011

Моя проблема в том, что я хочу вставить значения без дублирования значений.

ALTER PROCEDURE [dbo].[SD_Sproc_Result]
    -- Add the parameters for the stored procedure here
        @employeeid varchar(100),
        @providercode varchar(100)

AS
BEGIN

        Insert into TR_employeesprovidercode (employeeid, providercode) values
        (@employeeid, @providercode)

END

Ответы [ 2 ]

2 голосов
/ 30 марта 2011

Вам необходимо определить некоторые поля как unique и использовать INSERT IGNORE...

http://dev.mysql.com/doc/refman/5.5/en/insert.html

Подробнее о ключевом слове IGNORE.

http://dev.mysql.com/doc/refman/5.0/en/constraint-primary-key.html

Читайте об уникальных ключах.

2 голосов
/ 30 марта 2011

Попробуйте:

 IF NOT EXISTS(SELECT * FROM TR_employeesprovidercode
                   WHERE employeeid = @employeeid 
                   AND providercode = @providercode)
 BEGIN
      Insert into TR_employeesprovidercode (employeeid, providercode) 
      values (@employeeid, @providercode)
 END

В качестве альтернативы вы можете создать уникальное ограничение для таблицы, содержащей два столбца employeeid и providercode.

ALTER TABLE myTable
ADD UNIQUE (employeeid, providercode);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...