程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> PowerDesigner實現導出的SQL語句附帶主鍵

PowerDesigner實現導出的SQL語句附帶主鍵

編輯:關於SqlServer


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了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved