2011-07-22 27 views
0

我用來阻止InterBase中的字段的空字符串,通過將文件設置爲非null但在firebird中它不同於用戶鍵入文件中的任何事物,然後保存並刪除該字符串該場將存儲空字符串不爲空,並將字段設置爲無空不會阻止該行爲Firebird中的空和空字符串

有沒有辦法阻止用戶從數據庫端輸入空字符串?

感謝

回答

0

使用觸發這樣

CREATE OR ALTER TRIGGER YOUR_TABELE_BIU0 FOR YOUR_TABELE 
ACTIVE BEFORE INSERT OR UPDATE POSITION 0 
AS 
begin 
    IF (CHAR_LENGTH(new.YOURFIELD)=0) THEN 
    exception E_NOT_EMPTY 'field can not be empty'; 
end 
2

只需添加檢查這樣的:

CREATE TABLE test (
    f varchar(200), 
    CHECK (f > '') 
) 

沒有空值或空字符串將不會通過此檢查。

+1

爲了防止NULL值,需要一個NOT NULL約束。 –

+0

我檢查了FB 2.5並且f <>''也排除了NULL值 –