sp_column 不考虑@Column_name
sp_column not considering @Column_name
我正在阅读 official Microsoft guide 关于 sp_columns
的文章,我正在尝试从 AdventureWorks2016.dbo.Person.Address
中仅检索一个特定的列:
exec sp_columns @table_name = 'Person.Address', @Column_name = 'NULLABLE'
SSMS 将所有列检索为空
Microsoft 文档说我可以使用 @Column_name
如果你执行这个:
exec sp_columns @table_name = 'Address'
您应该得到以下信息:
如何 @Column_name = 'NULLABLE'
不存在于 table
而且,如果您 运行 使用正确的列名称进行查询,您将使其正常工作。
例如这个:
exec sp_columns @table_name = 'Address', @Column_name = 'AddressID'
@table_name
参数值必须单独为 table 名称。使用 @table_owner
列单独指定架构名称,并使用 @column_name
参数值指定现有列的名称:
exec sp_columns @table_name = N'Address', @table_owner = N'Person', @column_name = N'AddressLine1';
架构和所有者在现代 SQL 服务器版本中在概念上有所不同,但这是一个相当古老的存储过程,其中架构和 table 所有者可以互换使用。
我正在阅读 official Microsoft guide 关于 sp_columns
的文章,我正在尝试从 AdventureWorks2016.dbo.Person.Address
中仅检索一个特定的列:
exec sp_columns @table_name = 'Person.Address', @Column_name = 'NULLABLE'
SSMS 将所有列检索为空
Microsoft 文档说我可以使用 @Column_name
如果你执行这个:
exec sp_columns @table_name = 'Address'
您应该得到以下信息:
如何 @Column_name = 'NULLABLE'
不存在于 table
而且,如果您 运行 使用正确的列名称进行查询,您将使其正常工作。
例如这个:
exec sp_columns @table_name = 'Address', @Column_name = 'AddressID'
@table_name
参数值必须单独为 table 名称。使用 @table_owner
列单独指定架构名称,并使用 @column_name
参数值指定现有列的名称:
exec sp_columns @table_name = N'Address', @table_owner = N'Person', @column_name = N'AddressLine1';
架构和所有者在现代 SQL 服务器版本中在概念上有所不同,但这是一个相当古老的存储过程,其中架构和 table 所有者可以互换使用。