您的位置:首页 > 数据库

powerdesign实现导出的sql语句带主键

2008-05-23 09:55 120 查看
说说sqlserver2000情况下吧,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



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

然后打开pd,选择“file”--“reverse engineer”--“database”选择刚才导出的sql脚本,在sql脚本里面吧相应的内容按着上面的改一下保存。然后再选择“file”--“reverse engineer”--“database”,把刚改过的sql脚本导入pd就OK了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: