- PR -

SQLServer 2005 Default列で他の列の値をDEFAULTで指定する

1
投稿者投稿内容
platini
大ベテラン
会議室デビュー日: 2002/12/03
投稿数: 193
投稿日時: 2008-04-02 16:57
馬鹿みたいな話で申し訳ないのですが(設計ミス)、
もしうまい手があれば教えてください。

SQLServer Ver2005

以下のようなテーブルがあるとします。

CREATE TABLE [注文明細] (
[注文ID] int,
[注文明細NO] int,
[商品コード] int,
[ID] int
)

ここで、IDの値に常に注文IDと同じ値が
自動的に入るようにする、かつ、トリガを使わない
手はあるでしょうか。

定数であればDEFAULTを指定すればよいのですが。

DEFAULTのところに、他の列を参照する方法があったら
教えてください。(設計を直せ!が正しいのですが、
申し訳ありません)


[ メッセージ編集済み 編集者: platini 編集日時 2008-04-02 16:58 ]
よっしー
大ベテラン
会議室デビュー日: 2007/05/17
投稿数: 143
投稿日時: 2008-04-02 17:39
計算列でどうですか?
platini
大ベテラン
会議室デビュー日: 2002/12/03
投稿数: 193
投稿日時: 2008-04-02 19:11
引用:

計算列でどうですか?



ばっちり いけました。

ありがとうございました。m(_ _)m
よっしー
大ベテラン
会議室デビュー日: 2007/05/17
投稿数: 143
投稿日時: 2008-04-02 22:45
ばっちりいって良かったです。
ところで、なぜ注文IDと同じ値の他の項目が必要なんでしょう?

単なる好奇心です。色々事情があると思うので、どんな事情なのかな?と。
platini
大ベテラン
会議室デビュー日: 2002/12/03
投稿数: 193
投稿日時: 2008-04-05 01:07
引用:

ところで、なぜ注文IDと同じ値の他の項目が必要なんでしょう?


あるミドルウェアを使用しているのですが、
ユーザーからの入力は注文IDに入力してもらうが、
ミドルウェアは決まり文句の列(決まった名前の列)が
必要ということをすっかり忘れていたという設計ミスの賜物?です。

一言でいえば、馬鹿!でした。
1

スキルアップ/キャリアアップ(JOB@IT)