SQL Server: sp_column без учета @Column_name - PullRequest
0 голосов
/ 24 октября 2018

Я читаю официальное руководство Microsoft о sp_columns и пытаюсь извлечь только один конкретный столбец из AdventureWorks2016.dbo.Person.Address:

exec sp_columns @table_name = 'Person.Address', @Column_name = 'NULLABLE'

SSMS извлекает всевсе столбцы пустые

enter image description here

В документации Microsoft сказано, что я могу использовать @Column_name

Ответы [ 3 ]

0 голосов
/ 24 октября 2018

Если вы выполните это:

         exec sp_columns @table_name = 'Address'

Вы получите следующее:

enter image description here

Как всегда @Column_name =NULLABLE не существует в таблице

enter image description here

И если вы запустите запрос с правильным именем столбца, вы получите его работу

Например:

         exec sp_columns @table_name = 'Address', @Column_name = 'AddressID'

enter image description here

Надеюсь, что это поможет С уважением,

0 голосов
/ 24 октября 2018

Значение параметра @table_name должно быть только именем таблицы.Укажите имя схемы отдельно, используя столбец @table_owner, и укажите имя существующего столбца со значением параметра @column_name:

exec sp_columns @table_name = N'Address', @table_owner = N'Person', @column_name = N'AddressLine1';

Схема и владелец концептуально различаются в современных версиях SQL Server, но этодовольно старая хранимая процедура, где схема и владелец таблицы используются взаимозаменяемо.

0 голосов
/ 24 октября 2018

Я думаю, что вы хотите:

exec sp_columns @table_name = 'Person', @Column_name = 'Address'
...