2014-01-30 41 views
0

我有一箇舊的InterBase存在的表,我想添加一個主鍵字段並填充它。有沒有辦法在SQL語句中完成所有操作(如SQL服務器)。例如:Interbase的如何GUID字段添加到現有表

ALTER TABLE IBUSERS ADD IBUSERSPK VARCHAR(32) default (newid()) NOT NULL 

據我可以告訴interbase newid函數不存在,除非我失去了一些東西。

我使用IBExpert,也有IBConsole。

還是我堅持了下來被創建後填充在代碼這個領域?

謝謝。

回答

0

看來IB的有沒有簡單的方法來填充SQL GUID字段。因此,解決方案是在數據庫中創建自己的UDF函數以創建一個隨機guid。然後,它變成了三個步驟:

的字段添加到表

ALTER TABLE IBUSERS ADD IBUSERSPK VARCHAR(32) NOT NULL 

填充使用UDF的新領域:

UPDATE IBUSERS SET IBUSERSPK = GETGUID() 

添加主鍵約束,如果它是這樣的:

ALTER TABLE IBUSERS ADD CONSTRAINT PK_IBUSERS PRIMARY KEY (IBUSERSPK) 

關於這件事的好處是,那麼這個函數可以隨時隨地在t中使用他數據庫。

+0

我希望能幫助別人,因爲實際上對Interbase沒有太多的Google類型支持。 –

相關問題