J'ai récemment rencontré une exigence au travail. Je dois mettre à jour un champ "drapeau" de toutes les tables de la base de données Oracle en "I". >
update table_name set flag = 'I'"I" est utilisé comme chaîne, je dois donc être placé entre guillemets simples dans la déclaration. Comme il y a plusieurs tables dans la base de données, je ne veux pas écrire les instructions une par une, j'espère pouvoir générer directement toutes les instructions via des instructions SQL, j'ai donc écrit le sql suivant : Lors de l'exécution à ce moment-là, "Rapport d'erreur : ORA-00923 : Le mot clé FROM requis n'a pas été trouvé. L'emplacement de l'erreur se trouve au deuxième single". position de guillemet de « I » en raison de la relation de correspondance entre guillemets simples. , I n'est pas une chaîne, donc une erreur est signalée, alors que dois-je faire si je veux afficher un guillemet simple ?
select 'update ' || table_name || ' set flag = 'I'' || ';' from user_tables
J'ai essayé le déclaration :
signalera également une erreur. Il s'avère que "'" est utilisé comme mot-clé si vous devez afficher "'". , vous devez utiliser un caractère d'échappement, tout comme le "" de Java et la conversion d'Oracle. Le caractère de signification est le guillemet simple "'", donc le sql doit être écrit comme ceci :select ''' from dual
Comment comprendre le deuxième guillemet simple "'" ? Remplacez-le simplement par "", donc le SQL dont j'ai besoin est :
select '''' from dual
C'est OK !
Résumé
select 'update ' || table_name || ' set flag = ''I''' || ';' from user_tablesCe qui précède concerne les caractères d'échappement Oracle. J'espère que le contenu de cet article pourra être utile aux études ou au travail de chacun si vous. Si vous avez des questions, vous pouvez laisser un message pour communiquer. Plus de transferts Oracle Pour une introduction détaillée des caractères de signification, veuillez faire attention au site Web PHP chinois
.