Comment mettre à jour un champ booléen dans la table Oracle
Je suis un novice Oracle de l'utilisateur. Je voulais mettre à jour un champ booléen dans ma table pour l'un de les enregistrer. Laquelle de ces affirmations est correcte ?
update MyTable set myBooleanColumn = 1 where UserId= 'xx12345';
or
update MyTable set myBooleanColumn = '1' where UserId= 'xx12345';
toute aide est grandement appréciée!! merci !
Il n'y a pas une telle chose comme un type de données booléen pour les tables oracle. Vous devez effectuer l'une de vos deux options - création d'un champ de varchar2(1) et peut-être réglé sur O/N, ou un numéro de champ, et se mit à 1/0
OriginalL'auteur HereToLearn_ | 2013-10-17
Vous devez vous connecter pour publier un commentaire.
Il dépend de la façon dont le champ est défini.
Si ses définie comme un CHAR(1), puis vous pouvez enregistrer 'Y'/'N' ou 'T'/'F'. Pour mettre à jour le champ, vous pouvez utiliser les guillemets car ce serait un littéral de chaîne.
Si le champ est défini comme le NUMÉRIQUE, la convention est 0=false et 1 ou -1 est vrai (j'ai vu les deux).
Beaucoup de gens vont défendre le CHAR(1), mais dans le monde réel - vous voir à la fois. Il dépend de la façon dont le booléen est mis en œuvre.
Vous pouvez en lire plus dans Oracle docs sur les Types de données
http://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm
OriginalL'auteur DHW
Il n'y a pas une telle chose comme un champ Booléen dans Oracle si votre champ est un champ numérique ou un champ de caractères. Si c'est un champ numérique vous n'avez pas besoin de citer le nombre; si c'est un champ de caractères, vous devez citer la chaîne.
Vous pouvez trouver le type de la colonne en interrogeant USER_TAB_COLUMNS:
ou par décrivant la table.
OriginalL'auteur Ben
Il n'y a rien comme champ Booléen dans Oracle.
Le meilleur de ce que vous pouvez faire est de créer la table comme ceci:-
Alors simple mise à jour comme
POURQUOI LA PRISE DE CHAR?
Il n'y a pas de support pour BOOLEAN, PEU, ou TINYINT types de données afin de char serait la meilleure car elle prend 1 octet
OriginalL'auteur Rahul Tripathi