2

IDは8桁の数字である必要があります。

create table foo(
ID  primary key DEFERRABLE,
);

create or replace trigger foo_trg 
before insert or update
on foo
for each row
Begin
  if :new.ID > 99999999  or :new.ID < 9999999 then 
    raise pkg.Illegal_update;
  end if;
end;
/

現在、私のトリガーは、数が多すぎるか少なすぎる場合にのみ、不正な更新を停止できます。数値の小数をチェックする方法が必要です

どんな提案でも大歓迎ですありがとう

4

2 に答える 2

1

DBMSとは何ですか?id列の型を整数として宣言します。Oracleでは、次のようにします。

create table foo(
ID  NUMBER(8,0) primary key DEFERRABLE,
);

これが延期可能になる理由はありますか?

于 2012-04-23T00:46:36.407 に答える
0

floor(number) = number他のすべてが失敗した場合に使用できます。

于 2012-04-23T00:48:17.353 に答える