Sql server sp_列未考虑@column_name
我正在阅读aboutSql server sp_列未考虑@column_name,sql-server,stored-procedures,ssms,adventureworks,Sql Server,Stored Procedures,Ssms,Adventureworks,我正在阅读aboutsp_列,我试图从AdventureWorks2016.dbo.Person.Address中仅检索一个特定列: exec sp_columns @table_name = 'Person.Address', @Column_name = 'NULLABLE' SSMS正在将所有列检索为空 Microsoft文档中说,如果执行以下操作,我可以使用@Column\u name: exec sp_columns @table_name = 'Address' 您应该获得以下
sp_列
,我试图从AdventureWorks2016.dbo.Person.Address
中仅检索一个特定列:
exec sp_columns @table_name = 'Person.Address', @Column_name = 'NULLABLE'
SSMS正在将所有列检索为空
Microsoft文档中说,如果执行以下操作,我可以使用@Column\u name
:
exec sp_columns @table_name = 'Address'
您应该获得以下信息:
但是表中不存在@Column\u name='NULLABLE'
如果您使用正确的列名运行查询,您将使其正常工作
例如:
exec sp_columns @table_name = 'Address', @Column_name = 'AddressID'
如果执行此操作:
exec sp_columns @table_name = 'Address'
您应该获得以下信息:
但是表中不存在@Column\u name='NULLABLE'
如果您使用正确的列名运行查询,您将使其正常工作
例如:
exec sp_columns @table_name = 'Address', @Column_name = 'AddressID'
参数值必须仅为表名。使用
@table\u owner
列分别指定架构名称,并使用@column\u name
参数值指定现有列的名称:
exec sp_columns @table_name = N'Address', @table_owner = N'Person', @column_name = N'AddressLine1';
在现代SQLServer版本中,模式和所有者在概念上是不同的,但这是一个相当旧的存储过程,模式和表所有者可以互换使用 参数值必须仅为表名。使用
@table\u owner
列分别指定架构名称,并使用@column\u name
参数值指定现有列的名称:
exec sp_columns @table_name = N'Address', @table_owner = N'Person', @column_name = N'AddressLine1';
在现代SQLServer版本中,模式和所有者在概念上是不同的,但这是一个相当旧的存储过程,模式和表所有者可以互换使用