Как обрезать параметры табличных значений (TVP) в TSQL? - PullRequest
2 голосов
/ 09 января 2010

Я хочу обрезать TVP вместо УДАЛЕНИЯ.

Когда я пишу TRUNCATE TYPE, он выдает ошибку.

DROP TYPE работает, но я хочу TRUNCATE

Может ли кто-нибудь помочь мне с синтаксисом?

спасибо

Ответы [ 2 ]

4 голосов
/ 09 января 2010

В SQL Server 2008 табличный параметр доступен только для чтения в коде TSQL.

Чтобы изменить данные, которые передаются хранимая процедура или параметризованный оператор в табличном параметре, Вы должны вставить данные в временный стол или в стол переменная.

Ref .

1 голос
/ 10 января 2010

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

Как TVP, переменная таблицы доступна только для чтения. В других контекстах вы можете delete все строки из табличной переменной, но вы никогда не сможете truncate. Только пользовательские таблицы и временные таблицы могут быть усечены.

Вы можете скопировать TVP во временную таблицу и затем обрезать ее, но я не уверен, что это будет за польза!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...