powerdesign實現導出的sql語句帶主鍵

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章