How many times have you wanted to code something like this?
DECLARE @upgrade_ok VARCHAR ( 1 ) NOT NULL DEFAULT 'Y'
CHECK ( @upgrade_ok IN ( 'Y', 'N' ) );
If you're like me, lotsa times. In fact, quite a few times I have coded NOT NULL... on purpose, not by accident.