![]() |
Вопрос по синтаксису хранимых процедур sql server.
Помогите чайнику,пытаюсь разобраться,почему при выполнении:
CREATE PROCEDURE Col_zap @col int out AS select @col=count(*) from biblref GO выдается ошибка. А при выполнении CREATE PROCEDURE Col_zap @col int =0 out AS select @col=count(*) from biblref GO Значение @col после выполнения всегда равно 0,хотя количество записей в таблице biblref далеко не нулевое. Кстати никто не подскажет,где в сети найти грамотный материал по этой теме с хорошим количеством примеров? |
Что-то типа этого... за точность не ручаюсь...
create procedure test (@inParam int = 0 OUTPUT) as begin select @inParam = 10 end declare @vParam int declare @sendParam int exec @vParam = test(@sendParam OUTPUT) print @vParam |
Еще кто-нибудь подскажет(мне нужна хранимая процедура,при обращении к которой через adostoredproc, будет выдаваться количество записей в таблице)
Или(и) объяснение,почему те что наверху не работают? |
а для этого пользуй @@rowcount после селекта
|
А поподробней,мне там понадобится не общее количество,а выбор по условию(where там еще будет)
|
даже если ты сделаешь выборку, используешь как-то эти данные (фильтр и т.п.) - всё равно, колличество обработанных строк будет занесено в переменную @@rowcount.
|
Я видимо не совсем верно задал вопрос.Перефразировка помещена в форум отдельной темой.
|
Всё у тебя правильно наверху. Просто при выполнении нужно указать, что параметер, который ты передаёшь - не простой, а OUTPUT (кстати, someone312002 в своем первом примере это указал).
В SQLе так: delcare @count int execute Col_zap @col output в ADO у объекта Parameter есть свойство Direction, которое может принимать несколько значений, среди которых есть adParamInputOutput (=3) и adParamOutput (=2). В ADO.NET тоже самое есть у объекта SqlParameter. |
Спасибо большое!!!
|
Я так понял, ты с на ADO это делаешь? Если помог, с тебя пятак. :biggrin: Я, понимаешь, пятаки собираю ;)
Добавлено через 1 минуту: Лана, и четвёрка пойдёт :) |
Какая четверка сразу пятак и поставил.
Всех проблем не решил,но про parametr очень нужное упоминание:)) |
Был рад помочь ;)
|
| Часовой пояс GMT +4, время: 01:21. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.