danil33 Ответов: 1

запрос для инструкции prepare в sql server 2005


Привет,
Я очень новичок в sql server2005.Я подробно объясню свою проблему.Моя таблица базы данных содержит список заблокированных и разблокированных пользователей.Я хочу взять список всех разблокированных пользователей.Это я сделал в хранимых процедурах, но есть условие, что когда пользователь нажимает на страницу 1 в пользовательском интерфейсе, должны появляться только первые 10 членов, а когда он нажимает на страницу 2, должны появляться следующие 10.Но после написания хранимой процедуры она показывает некоторые ошибки.....

Msg 4145, Уровень 15, Состояние 1, Процедура List_UnblockedConsumers, Строка 23
Выражение небулевского типа, заданное в контексте, где ожидается условие, рядом с "stmt".
Msg 102, Уровень 15, Состояние 1, Процедура List_UnblockedConsumers, Строка 25
Неправильный синтаксис рядом с "PREPARE".

Я копирую свой код ниже.Пожалуйста, дайте мне необходимые инструкции.
Спасибо Вам за все ответы.

CREATE PROCEDURE List_UnblockedConsumers 
	-- Add the parameters for the stored procedure here
@_isAll binary="0",
@_pageNumber varchar="0",
@_numberOfItems varchar="0",
@Querystring varchar="0"
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
	SET @Querystring=(SELECT * FROM dbo.tbl_consumer WHERE BLOCKED=0)
    IF(_isAll=false) 
    SET @Querystring=(@Querystring + ' LIMIT ' + _pageNumber + ', ' + _numberOfItems)
	END IF
    PREPARE stmt FROM @Querystring;
	EXECUTE stmt;
	DEALLOCATE PREPARE stmt; 
END

1 Ответов

Рейтинг:
1

walterhevedeich

Двойник PREPARE на MS SQL это было бы EXECUTE или spexecutesql См. ниже пример этих двух примеров.

Построение динамического SQL в хранимой процедуре[^]