Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Подскажите с процедурой  [new]
Вя4еслаw
Member

Откуда:
Сообщений: 69
sql server 2008 Вообщем такая задача, есть табличка в которую попадают данные с заполнения
некоторой информации
и нужно написать процедуру
которая бы проверяла ее по некоторым условиям
допустим табличка в которую попадают данные выглядит как то так:
=
CREATE TABLE dbo.table1
[id] [numeric](9, 0) NOT NULL,			
[NUM_Q][numeric](6, 0) NULL,			--НОМЕР ЗАПРОСА
[Number_Vn] [numeric](18, 0) NULL,		--Внешний номер
[Num_tel] [Numeric](10, 0) NULL,		--Номер телефона
[Date_begin][datetime] NULL,			--Дата начала периода
[Date_end][datetime] NULL,			--Дата окончания периода



и даны условия для заполненных данных :
• внешний номер не должен встречаться в уже зарегистрированных в Системе запросах;
• клиент должен быть найден и его идентификатор должен присутствовать в запросе;
• в запросе должен быть указан хотя бы один номер телефона;
• период, указанный в запросе должен удовлетворять условиям:
- дата начала периода <= даты окончания периода <= текущей даты;
- дата начала периода => даты начала хранения данных(-5 лет от текущей даты).


и вот как написать процедуру которая бы делала проверку данных на эти условия и в случае
неудовлетворения какого либо условия записывала бы в другую табличку данные
в таком формате :

Наименование_файла.........Действие...........Описание_ошибки...........Номер_запроса .................Дата_время
.....NULL.............................ошибка................НЕТ НОМЕРА...............НОМЕР ЗАПРОСА...............СЕГОДНЯ

я что то сам не могу придумать как инсерт делать в табличку после условий да и вообще,
можете хоть какое нибудь условие показать как сделать примером?
4 фев 14, 21:18    [15519416]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите с процедурой  [new]
2Вя4еслаw
Guest
declare @v int = 10

declare @t table (val int)

insert into @t(val)
select @v
where not exists (
select 1
from @t t
where t.val = @v
)

if @@rowcount = 1
begin
print 'yes'
end
else
begin
print 'no'
end

insert into @t(val)
select @v
where not exists (
select 1
from @t t
where t.val = @v
)

if @@rowcount = 1
begin
print 'yes'
end
else
begin
print 'no'
end


http://technet.microsoft.com/en-US/library/ms174335.aspx
4 фев 14, 22:05    [15519526]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите с процедурой  [new]
Вя4еслаw
Member

Откуда:
Сообщений: 69
2Вя4еслаw,

Спасибо большое, буду отталкиваться от этого
4 фев 14, 22:14    [15519541]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить