Если вы действительно не можете изменить SELECT
заявление в объявлении курсора (который я бы сказал вам абсолютно должны быть в состоянии), то единственным вариантом является также получать другие столбцы из этого SELECT
заявления в переменные в вашей статье INTO
, даже если вы не используете эти переменные для чего:
DECLARE @Col1 VARCHAR(50)
DECLARE @Col2 VARCHAR(50)
DECLARE @Col3 VARCHAR(50)
DECLARE @Col4 VARCHAR(50)
DECLARE db_inner_cursor_info CURSOR FOR Select Col1 , Col2, Col3, Col4 from TBL1
OPEN db_inner_cursor_info
FETCH NEXT FROM db_inner_cursor_info INTO @Col1, @Col2, @Col3, @Col4
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @Col1
FETCH NEXT FROM db_inner_cursor_info INTO @Col1, @Col2, @Col3, @Col4
END
CLOSE db_inner_cursor_info
DEALLOCATE db_inner_cursor_info
Как вы можете видеть, в то время как мы извлекаем значение из всех столбцов в TBL1
, мы используем только значение от Col1
.
** почему ** вы не можете удалить остальные столбцы из 'SELECT'? – Lamak
Тогда почему вы объявляете курсор для выбора всех этих столбцов? – LONG
Если вы не можете удалить их из оператора select, вам придется объявлять переменные для всех столбцов и использовать только те, которые вы хотите. –