T- SQL Определение объекта null для таблиц с ненулевыми операторами создания - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь выбрать оператор создания для таблицы в T- SQL как

select OBJECT_DEFINITION(OBJECT_ID('dbo.tablename', 'U'))

, но он всегда возвращает ноль. У меня есть разрешение на определение представления для рассматриваемой таблицы, и когда я нахожусь в SQL Server Management Studio, я могу увидеть определение, щелкнув правой кнопкой мыши по таблице и перейдя к Script View As > Create To > New Query Editor Window, который показывает оператор создания для стол.

Проблема, похоже, связана с OBJECT_DEFINITION, поскольку

select OBJECT_ID('dbo.tablename', 'U')

возвращает целое число таблицы без проблем. Кто-нибудь знает, в чем может быть причина этой проблемы.

1 Ответ

0 голосов
/ 20 апреля 2020

Нельзя использовать OBJECT_DEFINITION () с пользовательскими таблицами (тип 'U'):

OBJECT_DEFINITION применяется к следующим типам объектов:

C = Проверить ограничение

D = По умолчанию (ограничение или автономно)

P = SQL хранимая процедура

FN = SQL скалярная функция

R = Правило

RF = Процедура фильтра репликации

TR = SQL триггер (триггер DML в области схемы или триггер DDL в области базы данных или сервера)

IF = SQL встроенная табличная функция

TF = SQL табличная функция

V = Просмотр

...