Problèmes lors de l'insertion avec PL/SQL Developer
J'ai le script suivant que je veux insérer dans une table, mais je vais avoir quelques problèmes avec elle.
declare
v_xslt9 varchar2(32767) := '<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="UTF-8" indent="yes"/> <xsl:template name="Template"> <xsl:text>Kære </xsl:text> <xsl:value-of select="/nameValueMap/entry[string=''FIRST_NAME'']/string[2]"/> <xsl:text> </xsl:text> <xsl:value-of select="/nameValueMap/entry[string=''LAST_NAME'']/string[2]"/></xsl:template> </xsl:stylesheet>'
begin
insert into XSLT values ('','Note',sysdate,v_xslt9,sysdate,'T','')
end;
La partie de l'intérêt est le suivant
<xsl:text> </xsl:text>
Je suis à l'aide de PL/SQL Developer et quand je lance le script ci-dessus, il reconnaît
comme une entité, et j'ai ensuite tapez la valeur que je veux. Ce que je veux, c'est un simple espace dans le XSL telles que le nom et prénom seront séparés. J'ai essayé toutes les suggestions à partir du lien suivant: orafaq - je juste ne peux pas le faire fonctionner. Soit il échoue lorsque j'essaie d'insérer ou il échoue lorsque j'ai extrait les données.
Est-il un moyen facile d'insérer un espace dans le XSL?
Semble comme PL/SQL Developer voit que comme une "variable de script" comme SQLPlus. Essayez d'exécuter
déjà essayé.. mais sans succès 🙁
Ensuite, vous devez regarder dans le PL/SQL Developer manuel...
SET DEFINE OFF
avant l'exécution de votre script (qui permettrait au moins de résoudre le problème dans SQLPlus)déjà essayé.. mais sans succès 🙁
Ensuite, vous devez regarder dans le PL/SQL Developer manuel...
OriginalL'auteur Herter | 2012-01-09
Vous devez vous connecter pour publier un commentaire.
Utiliser un la fenêtre de commande au lieu d'une fenêtre SQL à exécuter des scripts en PL/SQL Developer. Pour transformer un type de fenêtre à l'autre type, juste un clic-droit n'importe où dans la fenêtre et sélectionnez "Modifier la Fenêtre" => "Fenêtre de Commande".
Puis exécutez votre script comme dans SQL*Plus, dans ce cas avec
SET DEFINE OFF
la première ligne.Utilisez une barre oblique
/
sur une nouvelle ligne vide à la fin d'uneBEGIN...END
bloc (comme dans SQL*Plus).downvote pour les non-portabilité
OriginalL'auteur Vincent Malgrat
utilisation
il permettra de résoudre le problème partout et toujours, et comme pour vous - pour chaque futur utilisateur.
Juste isoler le symbole
OriginalL'auteur smnbbrv
Du PL/SQL Developer manuel:
Oui, cela ne fonctionnerait qu'en PL/SQL Developer. Autant que je sache, il n'y a pas de solution universelle. Chaque environnement a ses propres particularités qui font de ce difficile à faire. C'est pourquoi beaucoup de gens toujours utiliser SQL*Plus pour l'exécution de quoi que ce soit - il n'est pas toujours le meilleur environnement, mais c'est (presque) toujours disponible.
OriginalL'auteur Jon Heller
Donner à ceci un essai:
Ce
unistr('\00A0')
fonction renvoie la valeur UnicodeNO-BREAK SPACE
Ou, si vous voulez l'entité elle-même, vous pouvez essayer ceci:
La
chr(38)
retourne un littéral esperluette sans chercher à l'invite de saisie.OriginalL'auteur Devon_C_Miller