| 導購 | 订阅 | 在线投稿
分享
 
 
 

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了。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有