Страница 1 из 1

Использование переменной в запросе в процедуре

Добавлено: 06 сен 2007, 13:44
Sparton
Такой вот вопрос, имею запрос в процедуре.

Код: Выделить всё

select first 10 skip 0 id from news
Входящий пар-р в процедуру kol - требуемое кол-во новостей. Так вот как правильно подставить переменную kol в сам запрос

Код: Выделить всё

select first kol skip 0 id from news
- не работает...

Добавлено: 06 сен 2007, 14:10
mdfv
Параметры обычно с двоеточием пишут.
:kol

Добавлено: 06 сен 2007, 14:18
Sparton
mdfv писал(а):Параметры обычно с двоеточием пишут.
:kol
Да, пробовал... Тоже не идет... Сообщает

Код: Выделить всё

Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 12, char 18.
:.

Добавлено: 06 сен 2007, 14:20
Merlin
В скобки заверни.

Добавлено: 06 сен 2007, 14:23
dragon_art
интересно, а INTO тут чтоль не трэба? :?

Добавлено: 06 сен 2007, 14:47
Sparton
dragon писал(а):интересно, а INTO тут чтоль не трэба? :?
Трэба, не до конца написал...

А вот со скобками в точку. Буду знать, благодарю.

Добавлено: 06 сен 2007, 15:26
WildSery
Чтоб уж до конца прояснить ситуацию с синтаксисом, добавлю, что если в FISRT или SKIP используется результат подзапроса, то заворачивать нужно в двойные скобки (первые сам подзапрос, вторые для подстановки значения).
Например.

Код: Выделить всё

select first ((select count(1)/2 from rdb$relations)) * from rdb$relations;