создайте sp, который получает необходимые параметры для ввода нового элемента в таблицу «x», но имя нового элемента не повторяется

introducir la descripción de la imagen aquí

Мой вопрос заключается в том, как сравнить в переменной if, созданной мной, имя @name с атрибутом таблицы с именем Name?

0
задан 19.07.2016, 21:22
2 ответа

Действительно это достаточно просто:

IF EXISTS(SELECT 1 FROM Sales.Store WHERE Name = @name)
BEGIN
    SELECT '[nombre de tienda existente]';
END
ELSE
BEGIN
    INSERT INTO Sales.Store
    VALUES(@entityID, @name, @salespersonID, @demographics, @rowguid, @modifieddate);
END

Она prГіxima раз, пожалуйста postea cГіdigo внутри вопроса, вместо изображения.

0
ответ дан 24.11.2019, 13:48
  • 1
    ok, большое спасибо @Lamak, если он подал меня, и не больше изображений, только сомнение, потому что в первый select ты помещаешь ему номер 1? –  m3nt0r1337 19.07.2016, 21:19
  • 2
    @m3nt0r1337 - просто способ заставлять ощущаться, что результат не важное, но проверять существование линии. Podr и # 237; чтобы использовать SELECT * или любую другую вещь, но SELECT 1 это одна я убедился и # 243; n достаточно использованная момент использовать EXISTS в пользу мотива, что ты coment и # 233; –  Lamak 19.07.2016, 21:21
  • 3
    уже entend и # 237; большое спасибо, сегодня aprend и # 237; что-то новое, привет. –  m3nt0r1337 19.07.2016, 21:26

Другие 2 альтернативы, которые нужно иметь в виду, чтобы заботиться о консистенции данных, прежде всего, если этот sp не Гєnico точка ввода данных под ту же самую:

1) Создавать одну restricciГіn unique на поле Ямс таблицы Ты Выходишь. Store

ALTER TABLE Sales.Store  ADD CONSTRAINT UK_Name UNIQUE (Name)   

И после манипулировать ошибкой с Блоком Три Кач.

2) Создавать trigger на таблице, чтобы контролировать, что не повторил стоимость Ямс

0
ответ дан 24.11.2019, 13:48