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

Откуда: Москва
Сообщений: 16
Имеется следующая хранимая процедура:

CREATE PROCEDURE sp_ins_price_all (@KOEF money) AS
declare @@num integer
declare @O_ISN integer
declare @MISN integer
declare @TZENA money
DECLARE klient_cursor CURSOR FOR
SELECT m.ISN FROM Models m, Price p1, CostPrice cp
WHERE
m.ChRedy=1 AND p1.I_Model=*m.ISN AND p1.STORE=2 AND p1.Action=1 AND
cp.I_Model=*m.ISN AND cp.Action=1 AND m.Name Like '__.%'
OPEN klient_cursor
FETCH NEXT FROM klient_cursor INTO @MISN
WHILE @@FETCH_STATUS=0
begin
update PRICE set ACTION=0
where I_Model=@MISN and STORE=2
select @O_ISN=MAX(ISN)+1 from PRICE
select @@num=MAX(NPRICE)+1 from PRICE where STORE=2 AND I_MODEL=@MISN
select cp.CostPrice from CostPrice cp where cp.I_Model=@MISN AND cp.Action=1
select @TZENA = @KOEF * cp.CostPrice

Insert into PRICE
(ISN,STORE,I_MODEL,NPRICE,PRICE,DATEPRICE,ACTION)values
(@O_ISN,2,@MISN,@@num,Round(@TZENA,2),GETDATE(),1)
FETCH NEXT FROM klient_cursor INTO @MISN
end
CLOSE klient_cursor
DEALLOCATE klient_cursor

При попытке её сохранить, SQL 6.5 выдает следующее ругательство: "The column prefix 'cp' does not match with a table name or alias name used in the query." Проблема, как я понимаю, в двух строчках, выделенных жирным шрифтом. Что я делаю не так, подскажите плиз.
25 авг 05, 16:08    [1817744]     Ответить | Цитировать Сообщить модератору
 Re: Помогите найти ошибку плиз  [new]
Брюлик
Member

Откуда:
Сообщений: 690
Сорри, толкько позавчера избавился от барахла как SQL 6.5
25 авг 05, 16:10    [1817759]     Ответить | Цитировать Сообщить модератору
 Re: Помогите найти ошибку плиз  [new]
Adony
Member

Откуда: Москва
Сообщений: 1083
А если заменить две на одну??
select @TZENA = @KOEF *cp.CostPrice from CostPrice cp where cp.I_Model=@MISN AND cp.Action=1
25 авг 05, 16:11    [1817762]     Ответить | Цитировать Сообщить модератору
 Re: Помогите найти ошибку плиз  [new]
OlegMaltz
Member

Откуда: Москва
Сообщений: 16
Adony
А если заменить две на одну??
select @TZENA = @KOEF *cp.CostPrice from CostPrice cp where cp.I_Model=@MISN AND cp.Action=1

Получилось! Большое спасибо!

Брюлик
Сорри, толкько позавчера избавился от барахла как SQL 6.5

Да я бы рад избавиться, но не могу. На нем работает очень громоздкая система товароборота, которую к тому же писал не я. Сомневаюсь, что удалось бы её перенести под MS SQL 2000...
25 авг 05, 16:19    [1817805]     Ответить | Цитировать Сообщить модератору
 Re: Помогите найти ошибку плиз  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
OlegMaltz
Брюлик
Сорри, толкько позавчера избавился от барахла как SQL 6.5

Да я бы рад избавиться, но не могу. На нем работает очень громоздкая система товароборота, которую к тому же писал не я. Сомневаюсь, что удалось бы её перенести под MS SQL 2000...
ОФФ:
А почему б не попробовать (на тестовом сенрвере, к примеру)? У 2000 есть уровень совместимости даже с 6.0 и уж тем более с 6.5.
26 авг 05, 07:42    [1819083]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить