SQL
3. 可変長・固定長・computed 列で挙動とサイズが変わる
出典: SQL Server で本番テーブルにカラムを追加する時、業務SEが気をつける3つのこと — 3. 可変長・固定長・computed 列で挙動とサイズが変わる
-- 可変長NULLは即時・既存行のサイズも据え置き(値が入るまで増えない)
ALTER TABLE dbo.受注 ADD 備考 varchar(200) NULL;
-- computed 列は実体を持たず、読むたびに計算される(PERSISTED 指定時を除く)
ALTER TABLE dbo.受注 ADD 税込 AS (金額 * 1.1);
GO
SELECT 受注ID, 税込 FROM dbo.受注; -- 金額から都度計算された値が返る
▸ 実行ボタンで結果を表示
Source収録記事
この snippet は記事の「3. 可変長・固定長・computed 列で挙動とサイズが変わる」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。
同じ記事から
2 件-- 既存行があるテーブルに NOT NULL + 定数デフォルトを足す CREATE TABLE dbo.受注 (受注ID int PRIMARY KEY, 金額 int); INSERT INTO dbo.受注 VALUES (1, 1000), (2, 2000); GO
▶ 実行可
1. NOT NULL + デフォルト値の組み合わせで挙動が割れる
#d2eedd1ebe08
-- ステップ1: まず NULL 許可で追加(メタデータのみ・ロックは一瞬) ALTER TABLE dbo.受注 ADD 区分 tinyint NULL; GO未収録
安全な手順 — 本番を止めずにカラムを足す3ステップ
#1a85261c6347
