Как удалить запись из табличного параметра? - PullRequest
1 голос
/ 10 мая 2011

Я хотел бы знать, как удалить значение из табличного параметра в SQL? Это вообще возможно? Если нет, то каков обходной путь?

Пожалуйста, посмотрите мой код ниже и обратите внимание на комментарии. В разделе комментариев я хотел бы вставить строку, которая позволила бы мне удалить запись из TVP @ Record_NumList

После удаления этой записи я продолжаю вставлять новую (в основном я не хочу выполнять хранимую процедуру для существующей записи).

DECLARE @RecordID int
DECLARE @RecordID_NumList as Le_NumberList
DECLARE cur_DelRec CURSOR
      FOR
            SELECT DBRecordID from <<table_name>>

      OPEN cur_DelRec

            FETCH NEXT from cur_DelRec into @RecordID
            INSERT into @RecordID_NumList(@RecordID)
            WHILE @@FETCH_STATUS = 0
                  BEGIN
                        exec <<stored_procedure>> @RecordID_NumList

                        /* I'm stuck here:  */
                /* Need to remove from the existing record
                from @RecordID_NumList */

                        FETCH NEXT FROM cur_DelRec into @RecordID
                        INSERT into @RecordID_NumList(@RecordID)
                  END

      CLOSE cur_DelRec
DEALLOCATE cur_DelRec

На более общем уровне TVP - это коллекция? Допустим, я решил не удалять его из @Record_NumList. Что будет в этом случае?

Я прошу прощения, но я все еще изучаю SQL, и любая помощь будет принята с благодарностью!

Ray

1 Ответ

3 голосов
/ 10 мая 2011

Табличные параметры работают так же, как обычные таблицы. Вы должны быть в состоянии сделать что-то вроде этого:

delete from @Record_numList where [field] = [value]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...