2016-07-25 113 views
1

我試圖爲我的數據庫創建一個屏幕來插入,上傳,刪除和顯示。這裏看起來如何。在插入之前檢查sql netezza

enter image description here

我使用Netezza數據庫系統,並從ODBC獲得我的表。首先,我在Visual Studio中創建了一個表單應用程序。然後,我將datagrid添加到我的表單中。感謝datagridview,我通過點擊它從圖標添加數據源,然後從中選擇我的表格。當我這樣做時,它自動給我一張桌子。

這裏是它產生的對我來說,讓我看看錶

this.sPSS_STREAM_INFOTableAdapter.Fill(this.dataSet1.SPSS_STREAM_INFO);

然後代碼,我注意到,它也可能產生的插入和更新方法,或者我可以重載它們。不過,它的語法與我在netezza中所知道的不同。我能夠完成像這樣的插入方法。

INSERT INTO "ADMIN"."SPSS_STREAM_INFO" ("IS_AKIS_NO", "IS_AKIS_AD", "IS_AKIS_ACKLM", "PROJE_ADI", "YZLM_OP_ID", "TEST_OP_ID", "KGG_OP_ID") VALUES (?, ?, ?, ?, ?, ?, ?)

所以,我能插入填充任何列,但我當然需要寫東西IS_AKIS_NO,因爲它的行爲就像在我的表的主鍵,甚至沒有在Netezza公司沒有主鍵,但它確實不妨礙我在這裏添加相同的IS_AKIS_NO號碼,因爲我在netezza中沒有任何限制。在我插入之前,如何輸入sql代碼來檢查我的第一列中的值是否已經存在?

回答

0

如果您的ID字段IS_AKIS_NO是自動遞增值,那麼您可以創建sequence來幫助解決您的問題。

Create a Sequence

CREATE SEQUENCE IS_AKIS_NOseq as integer 
START WITH 1 increment by 1 
minvalue 1 maxvalue 100000000 no cycle 

檢索來自sequence

select NEXT VALUE FOR IS_AKIS_NOseq 
的下一個值