Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

MSSQL 2005 - XML-Feld Inhalt ändern

Frage Entwicklung Datenbanken

Mitglied: hueni4u

hueni4u (Level 1) - Jetzt verbinden

08.01.2007, aktualisiert 16.01.2007, 4603 Aufrufe, 4 Kommentare

Braeuchte Hilfe bei der Erstellung eines Querys für SQL-Server 2005.

Habe eine Tabelle mit einer XML-Spalte 'Lagerverteilung' mit diesem Aufbau.
<Root>
<Row>
<Lager>1</Lager>
<Menge>1</Menge>
</Row>
<Row>
<Lager>2</Lager>
<Menge>1</Menge>
</Row>
</Root>

Nun muesste ich einen Update absetzen, dass die Werte der Ebene Lager von '1' auf '1A' ändert.

Ist sowas machbar ?
Mitglied: Biber
15.01.2007 um 08:11 Uhr
Moin hueni4u,

ich bin nicht sicher, ob ich Deinen Tabellenaufbau vollständig begreifen bzw begreifen kann.
Aber wenn wirklich das wirklich ein Textfeld Varchar(2000) oder so etwas ist, in dem eine komplette XML-Struktur abgelegt ist, dann...
01.
UPDATE <i>tabellenname</i> 
02.
Set Lagerverteilung = Replace(Lagerverteilung, "<Lager>1</Lager>", "<Lager>1A</Lager>"
Ich hoffe allerdings irgendwie, ich habe die Tabellenstruktur missverstanden...

Gruß
Biber
Bitte warten ..
Mitglied: hueni4u
15.01.2007 um 12:10 Uhr
Hallo Biber,

vielen Dank für Deine Antwort.

Vielleicht muss ich erst mal die Hintergründe hierfür posten:
- Das Ganze ist im Moment ein Clipper-Programm mit Dbase-Datenbank in der einige Informationen (z.B. Lagerverteilung) in einem Array gespeichert sind.

- Dieses Clipper-Programm wird nun ersetzt durch eine Software (Xbase++) der eine MSSQL2000 zu Grunde liegt. Beim Konvertieren der Daten werden die Arrays in eine Tabellenspalte von Typ "Text" geschrieben, mit eben jener Struktur.

- Programmintern ist diese XML-Struktur definiert, aber nicht auf Datenbankebene.

Das war die Vorgeschichte.
Das Ganze hat mir schon immer Kopfzerbrechen bereitet:
- keine Querys auf diese Spalten
- keine Indizies, usw.

Nun war ich zuversichtlich, dass mit SQL2005 und XQuery alles besser wird.

P.S. Dein Beispiel scheint nicht auf einer "Text"-Spalte zu funktionieren...
Bitte warten ..
Mitglied: Biber
15.01.2007 um 19:24 Uhr
Moin hueni4me,

ich habe gerade folgendes an einer SQL-Datenbank (Nicht-M$) ohne Fehlermeldungen oder unerwartete Ergebnisse durchgenudelt:
01.
create table temp ( 
02.
text1 varchar(1000), 
03.
text2 char(200) 
04.
) ; 
05.
insert into temp(text1, text2) values ( 
06.
'<Root> 
07.
<Row> 
08.
<Lager>1</Lager> 
09.
<Menge>1</Menge> 
10.
</Row> 
11.
<Row> 
12.
<Lager>2</Lager> 
13.
<Menge>1</Menge> 
14.
</Row> 
15.
</Root>', 
16.
'<Root> 
17.
<Row> 
18.
<Lager>1</Lager> 
19.
<Menge>1</Menge> 
20.
</Row> 
21.
<Row> 
22.
<Lager>2</Lager> 
23.
<Menge>1</Menge> 
24.
</Row> 
25.
</Root>' 
26.
); 
27.
Update temp set text1 = replace( text1, '<Lager>1</Lager>', '<Lager>1A</Lager>'); 
28.
Update temp set text2 = replace( text2, '<Lager>1</Lager>', '<Lager>1A</Lager>'); 
29.
select * from temp;
der Part '<Lager>1</Lager>' war hinterher sowohl im CHAR-Feld wie auch im VARCHAR-Feld mit '<Lager>1A</Lager>' ersetzt.

Meines Wissens nach kennt und akzeptiert M$SQL sowohl die STUFF()- wie auch die REPLACE()- Skalarfunktion... sollte also eigentlich funktionieren.

Da es das aber offensichtlich bei Dir nicht tut:
Wie lautet denn die Fehlermeldung?
Oder passiert einfach nur nix?

Grüße
Biber
Bitte warten ..
Mitglied: hueni4u
16.01.2007 um 09:00 Uhr
Tach Biber,

mein Feld is vom "Text"-Datentyp. Also wie text3:
01.
create table temp ( 
02.
text1 varchar(1000), 
03.
text2 char(200), 
04.
text3 text 
05.
) ; 
06.
... 
07.
Update temp set text3 = replace( text3, '<Lager>1</Lager>', '<Lager>1A</Lager>');
Hiernach kommt die Fehlermeldung:
"Der Argumentdatentyp text ist für das Argument 1 der replace-Funktion ungültig."

Wird wohl doch keine Möglichkeit geben...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Inhalt von XML-Dateien ändern
gelöst Frage von Kedi123Batch & Shell14 Kommentare

Hallo zusammen, wir haben täglich viele XML-Dateien, die unter anderem jeweils eine Festplattengröße in Byte enthalten (Zeile 16). Um ...

Datenbanken
MsSQL 2005 zu MsSQL 2014 Servernamen ändern?
gelöst Frage von SPSmanDatenbanken21 Kommentare

Hallo, ich habe folgendes Problem: ein Kollege von mir ist mit meinem "alten System" mit MSSQL Server 2005 nach ...

VB for Applications
Inhalt einer XML Datei Script ändern
gelöst Frage von chris27584VB for Applications4 Kommentare

Hallo zusammen, in folgendem Script <?xml version="1.0"?> -<SkClientConfig xmlns:xsi=" xmlns:xsd=" <LastServerIndex>1</LastServerIndex> <LastUser>11111</LastUser> <LastWorkplace>2358</LastWorkplace> -<SerializableFont> <FontValue>Microsoft Sans Serif; 8,25pt</FontValue> </SerializableFont> ...

Datenbanken
MSSQL xml Query - wie?
Frage von TiCarDatenbanken1 Kommentar

Hi, ich habe beispielhaft folgende SQL Code Ergebnis: <leer> Wenn es allerdings so aussieht: Ergebnis: <TrackingNumber>1Z99R3X96865403082</TrackingNumber> Da der XML ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 19 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement15 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows XP
Windows XP Aktivieren geht nicht
Frage von tetikmiroWindows XP13 Kommentare

Hallo Ich habe einen Windows XP mit einen vCenter Converter umgezogen auf eine ESXI. Soweit funktioniert dies auch ohne ...