:
ALTER TABLE Symptoms
ADD CONSTRAINT Symptoms_imgPath
DEFAULT (('/resources/Images/{Id}_symptom.jpg')) FOR imgPath
他の方法は、このように、挿入時にデフォルト値を挿入することです
更新
SQL Serverの列の既定値は、他の列のデータを使用して構成することはできません。今
CREATE TABLE [dbo].[Symptoms] (
[Id] INT NOT NULL,
[description] NVARCHAR (128) NOT NULL,
[UserDefinedImgPath] NVARCHAR (128) NULL,
[imgPath] AS COALESCE(UserDefinedimgPath, '/resources/Images/' + CAST(Id AS NVARCHAR(13)) +'_symptom.jpg') PERSISTED,
[diseaseId] INT NOT NULL,
[weight] FLOAT NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC, [diseaseId] ASC)
);
あなたが挿入または更新上の画像ページを指定したい場合は、: 何をすることができますすることで、画像のパスを指定して、計算列の宣言の一部としてそれを使用するために別の列を追加することですUserDefinedImgPath
列を使用します。デフォルト値を使用する場合は、そのままnull
のままにしてください。
イメージパスを選択するときは、必ず計算カラムを使用してください。
まず答え
imgPath
ためcomputed columnを使用してください:あなたは計算列を更新することはできません、また、あなたがそれに特定の値を挿入することができます
CREATE TABLE [dbo].[Symptoms] (
[Id] INT NOT NULL,
[description] NVARCHAR (128) NOT NULL,
[imgPath] AS '/resources/Images/' + CAST(Id AS NVARCHAR(13)) +'_symptom.jpg' PERSISTED,
[diseaseId] INT NOT NULL,
[weight] FLOAT NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC, [diseaseId] ASC)
);
注意を。
これを実装して、指定された値がnullの場合にのみ関数が実行されるようにする方法はありますか?デフォルトのフォールバック? –
私の編集した答えを見てください。 –