2

フィールドの条件付き要件を作成する必要があります。これがSQLでどのように見えるかはわかりません。SQL Server2008でManagementStudioを使用しています。基本的に、別のフィールドにデータが入力されている場合にのみ、フィールドが必須になるようにします。トリガーを調べたところ、それが必要だと思いますが、どのタイプ(、、など)かわかりませDDLDML

例えば:

ユーザーが時刻を入力するときは、日付も入力する必要がありますが、時刻が入力されていない場合は、日付は必要ありません。SQLはエラーを送信し、時間フィールドが入力されている間、ユーザーが日付を入力せずにレコードを完了することを許可しませんでした。

ありがとう!

4

1 に答える 1

4

チェック制約を使用できます。

create table YourTable
(
  ID int identity primary key,
  DateCol date,
  TimeCol time,
  constraint ch_DateTime check(
                              DateCol is not null or 
                              TimeCol is null
                              )
)

これでテストします:

-- null in both columns
insert into YourTable default values

-- values in both columns
insert into YourTable(DateCol, TimeCol) values(getdate(), getdate())

-- value only in DateCol
insert into YourTable(DateCol) values(getdate())

-- value only in TimeCol failes
insert into YourTable(TimeCol) values(GetDate())
于 2012-08-10T04:59:23.253 に答える