SQLテーブルデザイナで新しいテーブルを作成していますが、列の「デフォルト値またはバインディング」を同じテーブル内の別の列の値に基づいて作成したいと思います。したがって、列Aで列Bの部分文字列から値を取得したいと思います。列Aはnumeric
データ型であり、列Bはvarchar
です。今、私は次のものを持っていますが、スクリーンショット2のメッセージを受け取ります...ここに何か問題がありますか? CONVERT(numeric (2,0), SUBSTRING(col_b,3,2))
という式もあり、同じメッセージが表示されました。
スクリーンショット1:
スクリーンショット2:
DEFAULT CONSTRAINTを使用して、ある列のDEFAULT値を別の列に基づいて設定することはできないと思います。
NULL値を置き換えるだけの場合は、計算列を検討することをお勧めします。 http://msdn.Microsoft.com/en-us/library/ms188300.aspx
極端な場合、TRIGGERでやりたいことを正確に行うことができます。 INSTEAD OFINSERTトリガーについて読んでください。 http://technet.Microsoft.com/en-us/library/ms175089(v = sql.105).aspx