Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/26: Рейтинг темы: голосов - 26, средняя оценка - 4.54
 Аватар для Aumi
20 / 36 / 14
Регистрация: 08.10.2015
Сообщений: 406

Процедура на добавление с проверкой

13.07.2017, 14:16. Показов 5208. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, решила изучить ms sql после оракла. Пишу простую процедуру. Если уже есть такая запись (сравнение по Названию и Городу), то ничего не записывать.

T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
create procedure insertuniv2
@univ_name nvarchar(50),
@rating int,
@city nvarchar(50)
as
 
 
select count(*) 
from university
where univ_name=@univ_name and city=@city;
 
IF @@ROWCOUNT > 0 begin
PRINT 'Warning: Have have';
return
end;
 
 
begin
insert into [dbo].[university] values (@univ_name,@rating,@city)
end
 
exec insertuniv2 'МOТИ',550,'Москва'
проблема в том, что ничего не записывает.
Если есть такая строка, то в окошке Results пишется "1" и в Messages мое сообщение.
Но если эта совершенно новая запись, то "0" и опять мое сообщение!

Подскажите, что нужно в If прописать
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.07.2017, 14:16
Ответы с готовыми решениями:

Добавление в БД с проверкой
есть БД(access,её данные выводятся на форму),в ней есть два поля (дата и время) при каждом новом добавлении в бд,нужна проверка по этим...

Добавление записей с проверкой
Всем доброго времени суток! В БД имеется таблица в одном поле, которого необходимо заносить несколько записей ... Вопрос: Можно ли ...

Добавление записи с проверкой
Задача типа: Есть какая-то таблица и к ней форма, через форму в таблицу добавляются текстовые данные, например поставщики (названия...

3
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
13.07.2017, 15:04
Забавно. SELECT COUNT(*) без GROUP BY всегда вернёт 1 запись.
Всё-всё помещается в один INSERT:
T-SQL
1
2
3
INSERT [dbo].[university](univ_name, rating, city)
SELECT @univ_name, @rating, @city
WHERE NOT EXISTS(SELECT univ_name, city FROM [dbo].[university] INTERSECT SELECT @univ_name, @city);
0
 Аватар для Aumi
20 / 36 / 14
Регистрация: 08.10.2015
Сообщений: 406
16.07.2017, 11:40  [ТС]
Короче, вопрос решила. Остальное менять не надо

T-SQL
1
2
3
select @@ROWCOUNT
from university
where univ_name=@univ_name and city=@city;
0
5981 / 4556 / 1095
Регистрация: 29.08.2013
Сообщений: 28,191
Записей в блоге: 3
16.07.2017, 12:47
Цитата Сообщение от Aumi Посмотреть сообщение
Короче, вопрос решила
а вам написали как все сделать без if - тремя строками
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.07.2017, 12:47
Помогаю со студенческими работами здесь

Добавление элемента в структурой с проверкой
вводятся данные в структуру - работает при вводе проверка - есть ли такое уже в базе - НЕ работает понимаю что накосячил с проверкой,...

Добавление input в textarea с проверкой
Здравствуйте. Интересует функция на js или jquery Будут два input с типами 1. type="checkbox" 2....

Запрос на добавление с проверкой даты
Здравствуйте. Имеются 2 таблицы "Таблица1" и ее копия "Архив" В Таблице1 есть различные поля + поле в котором вводится дата (тип данных...

Добавление данных в таблицу с проверкой на дубликаты
Добрый день. Просьба помочь. Есть бд, в которой есть перекрестный запрос Pick by zones. Данные из него посредством запуска запроса на...

Добавление данных из ListBox в ListView с проверкой
Здравствуйте, господа знатоки. Есть Listview с колонками 1,2,3. Выглядит примерно так: --- Название Количество Свойства ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru