Simuler enums dans TSQL?

Récemment, j'ai accidentellement écrit un vraiment laid stockées proc où j'aurais voulu avoir des enums,

Par exemple.

CREATE PROCEDURE Proc_search_with_enum @user int, @account_category {enum}

Je comprends que SQL 2000 n'ont pas les énumérations comme un premier de la classe de langue de construire, de conventions de codage utilisez-vous pour simuler les énumérations ou traiter le même problème?

Ou suis je suis je condamnée à juste à l'aide de type VARCHAR et SI @account_category='cat1'?

EDIT: T-SQL et C# sont les langues du client.

EDIT: Merci à tous! Beaucoup de bons conseils, je souhaite que je pourrais accepter plusieurs réponses, j'ai voté tout le monde-

Résumé des réponses

  • Appuyer sur C#'enum en utilisant int. Bon
    pour C# code client, rend TSQL client
    code moins lisible.
  • Utilisation Char/Varchar. Mauvais pour le C# code client
    (pas bon pour la localisation), en fait
    TSQL code plus lisible.
  • Utiliser le paramètre de code de vérification de restreindre
    le paramètre, ou l'utilisation d'une contrainte sur
    une colonne de table ou une clé étrangère s'
    le paramètre va être inséré
    dans une table.

source d'informationauteur MatthewMartin