0

列の正確な値を取得するために DEFAULT を指定できますか?

私はSerial範囲を指定してテーブルを作成FromしていますTo

したがって、2 つの列があります: [Serial_Fr]&[Serial_To]

私が挿入するSerial_Frだけなら、私は移入したいSerial_To = Serial_Fr.

それ、どうやったら出来るの?または、トリガーを使用して default = '' を設定する必要があります。これを行うと、何百万ものシリアルがあると負担がかかると思います。

4

1 に答える 1

0

次のようなビューを作成します

CREATE VIEW MyView AS
SELECT 
  Serial_Fr,
  Serial_To =  COALESCE(Serial_To,Serial_Fr)
FROM MyTable

または、これはで行うことができますStored Procedure

しかし、エントリの一部をそのままにしておくことの何が問題になっていますSerial_ToNULL


編集

ISNULLT-sqlCOALESCEは92標準SQLです。これらの機能の微妙な違いについては、ここでよく説明されています。

マーティン・スミスは、違いを説明するこの興味深い例がある記事も参照しています。

DECLARE @test VARCHAR(2)
DECLARE @first VARCHAR(4)
DECLARE @second VARCHAR(4)

SELECT @first = ISNULL(@test, 'test')
SELECT @second = COALESCE(@test, 'test')

PRINT @first
PRINT @second
于 2013-03-06T08:13:25.190 に答える