SQL Server:对象名称的最大字符长度

时间:2011-04-27 17:48:09

标签: sql-server sql-server-2008 tsql

SQL Server 2008中对象名称的最大字符长度(例如约束,列)是多少?

3 个答案:

答案 0 :(得分:138)

128个字符。这是sysname数据类型(nvarchar(128))的最大长度。

答案 1 :(得分:52)

是的,它是128,除了临时表,其名称最长可达 116 。 这完全是explained here

使用以下博客文章中包含的以下脚本可以轻松进行验证:

DECLARE @i NVARCHAR(800)
SELECT @i = REPLICATE('A', 116)
SELECT @i = 'CREATE TABLE #'+@i+'(i int)'
PRINT @i
EXEC(@i)

答案 2 :(得分:15)

您还可以使用此脚本来了解更多信息:

attribute_id | attribute_name        | attribute_value
-------------|-----------------------|-----------------------------------
           1 | DBMS_NAME             | Microsoft SQL Server
           2 | DBMS_VER              | Microsoft SQL Server 2012 - 11.0.6020.0
          10 | OWNER_TERM            | owner
          11 | TABLE_TERM            | table
          12 | MAX_OWNER_NAME_LENGTH | 128
          13 | TABLE_LENGTH          | 128
          14 | MAX_QUAL_LENGTH       | 128
          15 | COLUMN_LENGTH         | 128
          16 | IDENTIFIER_CASE       | MIXED
           ⋮  ⋮                       ⋮
           ⋮  ⋮                       ⋮
           ⋮  ⋮                       ⋮

结果将是这样的:

class A{
     String id;
      String name;
       String value;
      String val1;
      String val2;
 }

class PropVal{
String id;
String propVal1;
String propVal2;
String propVal3;
String propVal4;
 }