PD设置生成SQL column不含有collate chinese_prc_ci_as

使用PD导出sql脚本。

没有设置PD时导出的sql脚本为:

create table dbo.t_call_note (
     id                   int                  identity(100,1),
     caller               varchar(32)          collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
     called               varchar(32)          collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
     ring_time            char(19)             collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
     talk_time            char(19)             collate Chinese_PRC_Stroke_90_CS_AS_KS_WS null,
     end_time             char(19)             collate Chinese_PRC_Stroke_90_CS_AS_KS_WS null,
     user_no              varchar(50)          collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
     user_name            varchar(50)          collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
     talk_long            varchar(50)          collate Chinese_PRC_Stroke_90_CS_AS_KS_WS null,
     call_Id              varchar(50)          collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
     user_pk              int                  collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
     create_time          char(19)             collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
   constraint PK_T_CALL_INFO primary key (id)
         on "PRIMARY"
)
on "PRIMARY"
go

 

上面的sql包含collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,这是一种排序方式。

但是在执行sql时就会出现错误.如果column为int时就会报错。那么我们如果如下设置,问题不再是问题了!哈哈

 

1.点击:工具栏-》database-》edit current DBMS

2.选择数据源(以SqlServer2005为例)

Microsoft SQLServer2005\Script\Objects\Column\Add

右边的Values值为:

  %20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):[%.L:DATATYPE%=xml?xml[%XMLSchemaCollection%?([%ContentType% ]%XMLSchemaCollection.GeneratedName%):                 ]:%20:DATATYPE%][.Z:[ collate %ExtCollation%][%ExtRowGuidCol%? RowGuidCol][%IDENTITY%? %IDENTITY%[[(%ExtIdentitySeedInc%)][%ExtIdtNotForReplication%? not for replication]]:[%ExtNullConstName%? constraint %ExtNullConstName%][ %NULL%][ %NOTNULL%]][[%ExtDeftConstName%? constraint %ExtDeftConstName%] default %DEFAULT%]]
   [%CONSTDEFN%]]

 修改为:

%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):[%.L:DATATYPE%=xml?xml[%XMLSchemaCollection%?([%ContentType% ]%XMLSchemaCollection.GeneratedName%):                 ]:%20:DATATYPE%][%ExtRowGuidCol%? RowGuidCol][%IDENTITY%? %IDENTITY%[[(%ExtIdentitySeedInc%)][%ExtIdtNotForReplication%? not for replication]]:[%ExtNullConstName%? constraint %ExtNullConstName%][ %NULL%][ %NOTNULL%]][[%ExtDeftConstName%? constraint %ExtDeftConstName%] default %DEFAULT%]
   [%CONSTDEFN%]]

 修改的内容就是去掉:[.Z:[ collate %ExtCollation%]以及最后一个"]"

再次导出sql脚本就不会出现collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null.

如下:

create table dbo.t_call_note (
     id                   int                  identity(100,1),
     caller               varchar(32)          not null,
     called               varchar(32)          not null,
     ring_time            char(19)             not null,
     talk_time            char(19)             null,
     end_time             char(19)             null,
     user_no              varchar(50)          not null,
     user_name            varchar(50)          not null,
     talk_long            varchar(50)          null,
     call_Id              varchar(50)          not null,
     user_pk              int                  not null,
     create_time          char(19)             not null,
   constraint PK_T_CALL_INFO primary key (id)
         on "PRIMARY"
)
on "PRIMARY"
go

 

希望能有更好的办法。这只是小弟不才自己找到的解决办法。希望对大家有所帮助

 

 

你可能感兴趣的:(collate)