| 订阅 | 在线投稿
分享
 
 
 

PowerDesigner实现导出的SQL语句附带主键

2008-07-12 07:37:27 编辑來源:互联网 国际版 评论
 
 
  SQL Server 2000下,pd导出sql语句,表是不带主键的。但是这个问题可以解决:

  双击你在pd里面所建的表--》选择“perview”,可以查看这张表的建表语句。

  举个例子:表1

  if exists (select 1

  from sysobjects

  where id = object_id('T_SA_FIELD')

  and type = 'U')

  drop table T_SA_FIELD

  go

  /*==============================================================*/

  /* Table: T_SA_FIELD */

  /*==============================================================*/

  create table T_SA_FIELD (

  SAFIELDRECID int null,

  SARECID int null,

  FIELDNAME varchar(100) null,

  FIELDTYPE DECIMAL null

  )

  go

  其中,SAFIELDRECID是此表的主键自增id,但是导出来的时候主键却不对。怎么解决呢?

  看看pd的建表解决这个问题的正确例子吧:

  if exists (select 1

  from sysobjects

  where id = object_id('dbo.T_SA_FIELD')

  and type = 'U')

  drop table dbo.T_SA_FIELD

  go

  /*==============================================================*/

  /* Table: T_SA_FIELD */

  /*==============================================================*/

  create table dbo.T_SA_FIELD (

  SAFIELDRECID int identity(1, 1),

  SARECID int null,

  FIELDNAME varchar(1000) null,

  constraint PK_T_SA_FIELD primary key (SAFIELDRECID)

  ON [PRIMARY]

  )

  ON [PRIMARY]

  go

  看看这个语句上面带颜色的部分,对比一下区别,很明显的。我是把SQL Server 2000里的数据库导成sql语句脚本。

  然后打开pd,选择“file”--“reverse engineer”--“database”选择刚才导出的sql脚本,在sql脚本里面吧相应的内容按着上面的改一下保存。然后再选择“file”--“reverse engineer”--“database”,把刚改过的sql脚本导入pd就OK了。
 
 
SQL Server 2000下,pd导出sql语句,表是不带主键的。但是这个问题可以解决: 双击你在pd里面所建的表--》选择“perview”,可以查看这张表的建表语句。 举个例子:表1 if exists (select 1 from sysobjects where id = object_id('T_SA_FIELD') and type = 'U') drop table T_SA_FIELD go /*==============================================================*/ /* Table: T_SA_FIELD */ /*==============================================================*/ create table T_SA_FIELD ( SAFIELDRECID int null, SARECID int null, FIELDNAME varchar(100) null, FIELDTYPE DECIMAL null ) go 其中,SAFIELDRECID是此表的主键自增id,但是导出来的时候主键却不对。怎么解决呢? 看看pd的建表解决这个问题的正确例子吧: if exists (select 1 from sysobjects where id = object_id('dbo.T_SA_FIELD') and type = 'U') drop table dbo.T_SA_FIELD go /*==============================================================*/ /* Table: T_SA_FIELD */ /*==============================================================*/ create table dbo.T_SA_FIELD ( SAFIELDRECID int identity(1, 1), SARECID int null, FIELDNAME varchar(1000) null, constraint PK_T_SA_FIELD primary key (SAFIELDRECID) ON [PRIMARY] ) ON [PRIMARY] go 看看这个语句上面带颜色的部分,对比一下区别,很明显的。我是把SQL Server 2000里的数据库导成sql语句脚本。 然后打开pd,选择“file”--“reverse engineer”--“database”选择刚才导出的sql脚本,在sql脚本里面吧相应的内容按着上面的改一下保存。然后再选择“file”--“reverse engineer”--“database”,把刚改过的sql脚本导入pd就OK了。
󰈣󰈤
 
 
>>返回首页<<
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 
 热帖排行
 
 
王朝网络微信公众号
微信扫码关注本站公众号wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
©2005- 王朝网络 版权所有