我想在SQL Server中看到表的定义。
从SQLPro for MSSQL运行此查询是可以的
SELECT TOP 100 * FROM dbo.[ATRESMEDIA Resource Time Registr_];
但是当我运行这个
时exec sp_columns dbo.[ATRESMEDIA Resource Time Registr_];
我收到了这个错误:
Msg 102, Level 15, State 1.
Incorrect syntax near '.'. (Line 3)
答案 0 :(得分:2)
不要使用架构dbo
。
exec sp_columns [ATRESMEDIA Resource Time Registr_];
为什么呢?因为,以下是sp_columns存储的proc接受的参数:
sp_columns [@table_name =] object
[,[@ table_owner =]所有者]
[,[@ table_qualifier =]限定词]
[,[@ column_name =] column]
[,[@ODBCVer =] ODBCVer]
来源:msdn
<强>更新强> 马丁在评论中的解释:
SQL Server中的字符串由单引号分隔 - 作为存储过程的参数,在非常有限的情况下,它将允许您跳过引号,但点会破坏它。 exec sp_columns 'dbo.[ATRESMEDIA Resource Time Registr_]';
不会给出语法错误 - 但这不会是proc所期望的,因为架构需要是第二个参数