Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / где ошибка:? / 6 сообщений из 6, страница 1 из 1
05.09.2002, 13:53:06
    #32048432
pvnic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где ошибка:?
на код вылетает след ошибка:
A SELECT statement that assigns a value to a variable must not be combinated with data-retrieval function
ну и так 4-ре раза...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
CREATE PROCEDURE update_growth  AS

declare @ticker varchar( 50 )
declare @start decimal( 18 , 6 )
declare @stop decimal( 18 , 6 )
declare @stock  varchar( 50 )
declare @lastdate datetime

SELECT  top  1  @lastdate=startdate FROM minutes WHERE DATEDIFF(DAY, startdate, GETDATE()) >  1  order by id desc


DECLARE cur CURSOR FOR
select distinct alias, stock from tickers
OPEN cur
FETCH NEXT FROM cur
into @ticker, @stock
if @@fetch_status= 0  
begin

SELECT TOP  1  startdate, @stop=stop FROM minutes m 
WHERE ((DATEDIFF(DAY, m.startdate, @lastdate) <  1 )
AND (ticker = @ticker) and (stock=@stock)) ORDER BY startdate desc

SELECT TOP  1  startdate, @start=start FROM minutes m 
WHERE ((DATEDIFF(DAY, m.startdate, @lastdate) <  1 )
AND (ticker = @ticker) and (stock=@stock)) ORDER BY startdate

if (@stop<> 0 )
begin
update tickers set growth=(@stop-@start)/@stop
end
WHILE @@FETCH_STATUS =  0 
BEGIN
FETCH NEXT FROM cur
if @@fetch_status= 0  
begin
FETCH NEXT FROM cur
into @ticker, @stock
if @@fetch_status= 0  
begin

SELECT TOP  1  startdate, @stop=stop FROM minutes m 
WHERE ((DATEDIFF(DAY, m.startdate, @lastdate) <  1 )
AND (ticker = @ticker) and (stock=@stock)) ORDER BY startdate desc

SELECT TOP  1  startdate, @start=start FROM minutes m 
WHERE ((DATEDIFF(DAY, m.startdate, @lastdate) <  1 )
AND (ticker = @ticker) and (stock=@stock)) ORDER BY startdate

if @stop<> 0 
begin
update tickers set growth=(@stop-@start)/@stop
end
end
END
end
CLOSE cur
DEALLOCATE cur
...
Рейтинг: 0 / 0
05.09.2002, 14:03:03
    #32048437
VVG_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где ошибка:?
SELECT TOP 1 startdate, @stop=stop FROM minutes m

нужно заменить на

SELECT TOP 1 @stop=stop FROM minutes m

ну и так 4-ре раза... :)
...
Рейтинг: 0 / 0
05.09.2002, 14:04:09
    #32048438
akuz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где ошибка:?
Код: plaintext
SELECT TOP  1  startdate, @stop=stop FROM minutes m 
Нельзя делать присвоение и вывод в одном запросе.
Помоему startdate, лишний.
...
Рейтинг: 0 / 0
05.09.2002, 14:17:18
    #32048443
pvnic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где ошибка:?
ок, убрал
теперь на последнюю строчку только ругается..
...
Рейтинг: 0 / 0
05.09.2002, 18:00:39
    #32048551
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где ошибка:?
Ув. pvnic !
Если вы хотите получать ответы на свои вопросы, то пишите вместо теперь на последнюю строчку только ругается..
- на какой именно строчке скрипта происходит ошибка
- какая именно ошибка происходит. Можно скопировать ее сюда целиком, вреда от этого не будет
- можно указывать и версию сервера (из @@version) на всякий случай

Потому как не имею ваших таблиц невозможно проверить ваш скрипт у себя
...
Рейтинг: 0 / 0
06.09.2002, 08:16:07
    #32048622
pvnic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где ошибка:?
не было завершающего end
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / где ошибка:? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]