MSSQLSERVER_107
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例
详细信息
属性 | 值 |
---|---|
产品名称 | SQL Server |
事件 ID | 107 |
事件源 | MSSQLSERVER |
组件 | SQLEngine |
符号名称 | P_NOCORRMATCH |
消息正文 | 列前缀 '%.*ls' 与查询中使用的表名或别名不匹配。 |
说明
用列前缀错误地对该查询的 Select 列表中包含的星号 (*) 进行了限定。 在以下情况下可能会返回此错误:
列前缀与查询中使用的表名或别名不对应。 例如,下面的语句使用别名 (
T1
) 作为列前缀,但是该别名未在 FROM 子句中定义。SELECT T1.* FROM dbo.ErrorLog;
将表名指定为列前缀,但是在 FROM 子句中提供的是表的别名。 例如,下面的语句使用表名
ErrorLog
作为列前缀;但是,在该表的 FROM 子句中定义的是别名 (T1
)。SELECT ErrorLog.* FROM dbo.ErrorLog AS T1;
如果已经在 FROM 子句中提供了表的别名,则只能使用该别名作为表列的前缀。
用户操作
使列前缀与在查询的 FROM 子句中指定的表名或别名相匹配。 例如,可按如下方式更正上面的语句:
SELECT T1.* FROM dbo.ErrorLog AS T1;
或
SELECT ErrorLog.* FROM dbo.ErrorLog;