"BODY_TEXT" (varcharmax)
テーブル T1 に値,を挿入する従来のインターフェイスがあります"BODY_BIN"(varbinarymax)
。現在、列の 1 つだけに挿入し、もう 1 つの列は NULL のままにします。ここで、"BODY"(varbinarymax)
列のみを持つテーブル T2 という新しいインターフェイスを実装しました。
T1 を置き換えるビュー V1 を作成する必要があります。つまり、
CREATE VIEW V1 AS
SELECT
T2.UNIQUE_ID AS UNIQUE_ID,
など…</p>
列の扱い方がわからないT2.BODY
…みたいなことをする必要があります
T2.BODY AS (whatever is not null(BODY_BIN, BODY_TEXT))
。varcharmax
vs. varbinarymaxもサポートする必要があります。COALESCE
意味 を実装しようとしT2.BODY AS COALESCE(BODY_BIN, BODY_TEXT)
ましたが、うまくいきません。そうでもない
COALESCE(BODY_BIN, BODY_TEXT) AS BODY
T2.BODY AS BODY
繰り返しますが、従来のテーブルには、BODY_BIN と BODY_TEXT の 2 つの列を持つ T1 がありました。本文はバイナリまたはテキストのいずれかであり、両方ではないため、ユーザーは 1 つの値を挿入し、もう 1 つの値を null のままにしました。新しいインターフェイスには、BODY (varbinarymax) という 1 つの列しかないテーブル T2 があり、テーブル T1 を削除して同じ名前のビューを作成するように求められました。つまり、下位比較可能性を維持するために、「T1 値 X、Y への挿入」(X は DATA_BIN または NULL、Y は DATA_TEXT または NULL) を引き続き実行できる必要がありますが、コンテンツ (X または Y から取得) はT2 テーブルの 1 つの列 - BODY に変換されます。これを引き上げる方法がわかりません。
手伝って頂けますか?
ありがとう、
ニリ