SQL Server中的desc表?

时间:2018-02-15 08:24:42

标签: sql-server

我想在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)

1 个答案:

答案 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所期望的,因为架构需要是第二个参数