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

Откуда: nnov
Сообщений: 8
всем дня доброго !
В общем такая ситуация , есть уже готовый запрос который возвращает табличку из четырёх столбцов, всегда из разного кол-ва записей :
select
isnull(rtrim(ltrim(i.Name)) + ' ' +
rtrim(ltrim(i.Name1)) + ' ' +
rtrim(ltrim(i.Name2)),'') as Brief,
c.MainAccNumber as AccNumber,
c.Number as CardNumber,
e.Code as Code,
cast(%date! as smalldatetime) as Date

from tCard c (nolock)
,tInstitution i (nolock)
,tEnterprise e (nolock)
,tTransition t (nolock)
,tObject o (nolock)
,tProtocol p (nolock)
,tNode n
,tContract con
where 1 = 1
--and c.BranchExtID=0
and c.BranchID=2000
and t.InstrumentID = 2010000001013
and t.TargetStateID = 2010000004251
and p.TransitionID = t.TransitionID
and o.CurrProtocolID = p.ProtocolID
and c.CardID = o.ID
and n.NodeID = t.TargetStateID
and c.ClientID=i.InstitutionID
and con.ContractID=c.MainContractID
and con.isActive = 2
and e.ProcCenterID =c.ProcCenterID
and e.EnterpriseID =c.EnterpriseID


Теперь мне надо вызвать внешнюю процедуру которая делает некие подсчёты по каждой записи в таблице и оставить только те записи которые соответствуют условию meTurnCre>0 , очень долго ломаю голову но не знаю как его написать , основная сложность в том что вызывается сторонняя процедура , вот собственно и она:


select @ResourceID = select
@DateBegin = '19000101' ,
@DateEnd = @Date ,
@ObjectID1 = 0,
@ObjectID2 = 0,--2010000002520, -- 2010000002519
@ObjectID3 = 0,
@ObjectID4 = 0,
@ObjectID5 = 0,
@AccountingType = 1

exec @RetVal = GetRestTurn_f6
@ResourceID = @ResourceID ,
@DateBegin = @DateBegin ,
@DateEnd = @DateEnd ,
@AccountingType = @AccountingType ,
@ObjectID1 = @ObjectID1 ,
@ObjectID2 = @ObjectID2 ,
@ObjectID3 = @ObjectID3 ,
@ObjectID4 = @ObjectID4 ,
@ObjectID5 = @ObjectID5 ,
@TurnCre = @TurnCre output

select @TurnCre as meTurnCre
20 окт 14, 10:22    [16729580]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом ( цикл)  [new]
_djХомяГ
Guest
Диасофт )))
А если по делу и для каждой записи, то курсор
20 окт 14, 10:47    [16729683]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом ( цикл)  [new]
beer_andrey
Member

Откуда: nnov
Сообщений: 8
_djХомяГ,
в том проблема чтоя совсем новичок , не могли бы пример написать , был бы очень благодарен )
20 окт 14, 10:53    [16729724]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом ( цикл)  [new]
_djХомяГ
Guest
1) смотрите declare cursor
2) вызываете процедуру
3) смотрите TurnCre и на основании значения оставляете/удаляете запись в таблице
20 окт 14, 10:57    [16729738]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом ( цикл)  [new]
baracs
Member

Откуда: Москва
Сообщений: 7204
beer_andrey,

Тория: Курсоры языка Transact-SQL. Далее по ссылкам есть примеры.
20 окт 14, 11:02    [16729757]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом ( цикл)  [new]
beer_andrey
Member

Откуда: nnov
Сообщений: 8
baracs, _djХомяГ, спасибо большое ! Тему можно закрывать )
20 окт 14, 11:10    [16729804]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом ( цикл)  [new]
Jaffar
Member

Откуда:
Сообщений: 633
beer_andrey,

T,fnm ns Kj[!!!

Прощу прощения.
по сути нужно просто после отработки процедуры и получения в переменную @Time - значения
удалить запись из таблиц(ы).

удалить как-то так
delete from TableName where Col1 = @OBJ_ID and Col2 = @VALUE
20 окт 14, 11:39    [16730005]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить