Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
Добрый день! Я пытаюсь сделать такую процедуру.Из временной таблицы в одну строчку получить данные и вывести ее в результирующем наборе. declare @R9 varchar(5000) , @R10 varchar(5000) , @R11 varchar(5000) , @R12 varchar(5000) , @R13 varchar(5000) , @R14 varchar(5000) declare @R90 varchar(5000) ..........--Здесь идет создание и заполнение данными временной таблицы declare cr1 cursor for select #RECIPIENTTRANSACTIONOUT.TransactionDate, #RECIPIENTTRANSACTIONOUT.ShortName, #RECIPIENTTRANSACTIONOUT.DebetAmount,#RECIPIENTTRANSACTIONOUT.CreditAmount, #RECIPIENTTRANSACTIONOUT.DocNumber, #RECIPIENTTRANSACTIONOUT.SenderName from #RECIPIENTTRANSACTIONOUT where OrderOut="3" order by #RECIPIENTTRANSACTIONOUT.OrderOut, #RECIPIENTTRANSACTIONOUT.TransactionDate, #RECIPIENTTRANSACTIONOUT.RecAccTransaction open cr1 fetch cr1 into @R9,@R10,@R11,@R12,@R13,@R14 while @@sqlstatus=0 begin select @R90=@R90+ ' Дата: '+' '+@R9+ ' Вид операции: '+@R10 +' Списание: '+@R11 +' Поступление: '+@R12 +' № Платежного поручения: '+@R13 +' Наименование плательщика: '+@R14 fetch cr1 into @R9,@R10,@R11,@R12,@R13,@R14 end close cr1 deallocate cursor cr1 --Вывод всей строки результата select ' Дата входящего остатка: '+@R1+' Поступление входящего остатка: '+@R2 +' Поступление входящего инвестиционного дохода: '+@R3 +@R90 +' Дата оборота за период: '+@R4+' Списание оборота за период: '+@R5 +' Поступление оборота за период: '+@R6+' Доход за период: '+@R7+' Дата пенсионных накоплений: '+@R4+' Пенсионные накопления всего: '+@R8 +' Инвестиционный доход всего: '+@R7 END Так вот мне почему то в переменной @R90 выводится одна строчка данных из запроса select #RECIPIENTTRANSACTIONOUT.TransactionDate, #RECIPIENTTRANSACTIONOUT.ShortName, #RECIPIENTTRANSACTIONOUT.DebetAmount,#RECIPIENTTRANSACTIONOUT.CreditAmount, #RECIPIENTTRANSACTIONOUT.DocNumber, #RECIPIENTTRANSACTIONOUT.SenderName from #RECIPIENTTRANSACTIONOUT where OrderOut="3" order by #RECIPIENTTRANSACTIONOUT.OrderOut, #RECIPIENTTRANSACTIONOUT.TransactionDate, #RECIPIENTTRANSACTIONOUT.RecAccTransaction хотя я проверил этот запрос формирует несколько строк данных. В чем здесь может быть дело? И еще в результирующем наборе возвращаемым хранимой процедурой обрезаются данные, т.е. в строке отсутствует ' Дата оборота за период: ' и далее по данным. В чем здесь может быть дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 09:20 |
|
||
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
@@sqlstatus - это хто? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 09:25 |
|
||
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
Попробуй DECLARE @R90 varchar(8000) это максимальная длина строки в SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 09:38 |
|
||
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
а если написать так?! Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 09:45 |
|
||
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
Может стоит посмотреть в сторону FETCH NEXT? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 09:46 |
|
||
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
Посмотри еще здесь http://www.sql.ru/faq/faq_topic.aspx?fid=130 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 09:58 |
|
||
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
Все равно не то. Не получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 11:16 |
|
||
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
pkarklin@@sqlstatus - это хто? ...и тишина... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 11:33 |
|
||
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
@@sqlstatus=0 Это определяется момент когда при переборе select заканчиваются записи кстати если написать select @R90 = @R90+'1', то 1 он нормально накапливает нужное количество раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 11:46 |
|
||
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
r90000@@sqlstatus=0 Это определяется момент когда при переборе select заканчиваются записи Этот момент надо определять так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 11:50 |
|
||
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
извините меня за нескромный вопрос. А у вас процедура со строкой @@sqlstatus=0 вообще откомпилировалась?!?!? Ведь не должна же!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 11:59 |
|
||
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
У меня правда не MSSQL Server, a Sybase там это работает, а вэтом форуме задал вопрос здесь больше людей заходят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:19 |
|
||
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
Alexander63Попробуй DECLARE @R90 varchar(8000) это максимальная длина строки в SQL Максимальная больше, 16 000 с лишним. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 20:25 |
|
||
|
Помогите пожалуйста разобраться с хранимой процедурой
|
|||
|---|---|---|---|
|
#18+
-=DiM@n=-а если написать так?! Код: plaintext 1. Это не нужно, NULL при конкатенации и так выступает как пустая строка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 20:28 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=73&tid=2012438]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
25ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 338ms |

| 0 / 0 |
