私はテーブルを持っています
GID
ID
DefaultA
DefaultB
DefaultC
DefaultD
DefaultE
DefaultF
私の要件は、データベースには常に1つのレコードが存在する必要があるということです。
フロントエンドでは、エンドユーザーが既存のレコードを更新するため、OKを更新しようとすると、新しいレコードを入力しようとすると、停止する必要があります。
私はテーブルを持っています
GID
ID
DefaultA
DefaultB
DefaultC
DefaultD
DefaultE
DefaultF
私の要件は、データベースには常に1つのレコードが存在する必要があるということです。
フロントエンドでは、エンドユーザーが既存のレコードを更新するため、OKを更新しようとすると、新しいレコードを入力しようとすると、停止する必要があります。
主キーフィールドを作成し、tinyintと入力し、値が「1」のみになるように制約を設定します(つまり、フィールドに一意のインデックスを使用できます)。単一レコードのフィールド値を「1」に設定します。その後、他のレコードを入力することはできません。
GIDが主キーであると仮定すると、既存のテーブルに制約を追加するためのSQLコードは次のとおりです。
ALTER TABLE dbo.address ADD CONSTRAINT
single_record CHECK (GID = 1)
Eliminate all Insert, delete permissions from all users...
or,
Add a trigger that rolls back any transaction that attempts to delete or insert a record.
Create Trigger MyTableEnsureSingleRowTrigger
On MyTable for Insert, Delete
As Rollback Transaction