私は最近、私が列挙したいと思っていた、実際に醜いストアドプロシージャを書きました。TSQLの列挙型をシミュレートしますか?
例:
CREATE PROCEDURE Proc_search_with_enum @user int, @account_category {enum}
私は、SQL 2000のコーディング規約は、あなたが列挙型をシミュレートするか、そうでない場合は、同じ問題に対処するために使うのですかファーストクラスの言語構造として列挙型を、持っていないことを理解できますか?
私はVARCHARとIF @ account_category = 'cat1'を使用するだけですか?
EDIT:T-SQLとC#はクライアント言語です。
編集:ありがとうございます!良いアドバイスの多くは、私は誰もが答え
- の
概要がintを使用してC#の列挙にリーン上方制御投票してきました、私はいくつかの答えを受け入れることができることを望みます。良い C#クライアントコードの場合、TSQLクライアント のコードを読みにくくします。
- Char/Varcharを使用します。 C#クライアントコード (ローカリゼーションには適していません)のために悪いです。 TSQLコードを読みやすくしています。 パラメータを制限、またはパラメータが表に を挿入しようとしている 場合 テーブル列または外部キーに制約を使用するようにコードをチェック
- 使用パラメータ。
この質問をご覧ください:http://stackoverflow.com/questions/681828/sqlserver-how-to-bind-fixed-values-to-column/681847 – LukeH