これは制約条件であるかどうかはわかりませんが、挿入または更新が実行されたときに設定されている値をテーブルの "UserName"列で無視し、小文字に変換された "DisplayUserName"列の値を格納します。また、「DisplayUserName」が変更された場合は、「UserName」も「DisplayUserName」が低くなるように更新する必要があります。小文字の制約 - Sql Server
ありがとうございます!
これは制約条件であるかどうかはわかりませんが、挿入または更新が実行されたときに設定されている値をテーブルの "UserName"列で無視し、小文字に変換された "DisplayUserName"列の値を格納します。また、「DisplayUserName」が変更された場合は、「UserName」も「DisplayUserName」が低くなるように更新する必要があります。小文字の制約 - Sql Server
ありがとうございます!
これを行う一般的な方法は、挿入と更新時に起動するトリガを使用することです。私は右のそれを得ていなかったと思うので
)=、CREATE TRIGGER updateDisplayName_trigger ON Users
FOR INSERT, UPDATE
AS
IF UPDATE(UserName)
UPDATE Users SET DisplayUserName = Lower(UserName)
はちょうどあなたの特定のビジネスルールにそれを調整します
http://msdn.microsoft.com/en-us/magazine/cc164047.aspx
トリガーのコードは次のようなものでなければなりません
更新を処理するためにトリガーを作成する必要があります。
計算された列を探しているようです。ような何か:
CREATE TABLE [dbo].[SampleTable](
[ID] [int] IDENTITY(1, 1) NOT NULL,
[DisplayUserName] [varchar](100) NOT NULL,
[UserName] AS (lower([DisplayUserName]))
) ON [PRIMARY]
この方法では、ユーザー名を設定する必要はありませんでしょう、それは定義によってDisplayUserNameから小文字の値です。