Firebird中的null和空字符串

时间:2011-07-22 15:32:41

标签: sql firebird

我曾经通过将文件设置为非null来防止InterBase中字段的空字符串,但是在firebird中它与文件中任何东西的用户类型不同然后保存然后删除该字符串fiel将存储为空string no null并将该字段设置为no null将不会阻止该操作

有没有办法阻止用户从数据库端输入空字符串?

感谢

2 个答案:

答案 0 :(得分:2)

只需添加以下支票:

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

没有NULL或空字符串不会通过此检查。

答案 1 :(得分: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