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

Frage Entwicklung Datenbanken

Prozedur mit Rowcount und Loops

Mitglied: Praktikantin

Praktikantin (Level 1) - Jetzt verbinden

14.10.2009 um 15:51 Uhr, 3368 Aufrufe, 7 Kommentare

Hallo alle zusammen,

ich habe ein kleines Problem. Ich habe ein Sql - Update erstellt dass alle nicht numerische Charaktere mit nichts ersetzt. Wenn ich diese querys einzeln laufe dann funktioniert alles prima. Wenn ich die 2 aber zusammen laufe dann passiert nichts. Ich will diese 2 Abfragen in einer Prozedur einfugen und das habe ich schon aber wie gesagt es klappt nicht. Ich mache etwas Falsch mit den Loops... Bitte hilft mir weiter!!!!!!

Der Code ist -->


01.
 
02.
while @@rowcount > 0 
03.
 
04.
update inv 
05.
set inv.inv_number = replace(inv.inv_number, substring(inv.inv_number, patindex('%[^0-9]%', inv.inv_number), 1), '') 
06.
--select inv_number, replace(inv.inv_number, substring(inv.inv_number, patindex('%[^0-9]%', inv.inv_number), 1), '')	 
07.
from 	exp_invoice_temp as inv 
08.
	where  inv.retailer_id = 1282 
09.
	--	and sender_id = 2665   
10.
		and inv.seq is null 
11.
and patindex('%[^0-9]%', inv.inv_number) <> 0 
12.
		 
13.
 
14.
 
15.
 
16.
while @@rowcount > 0 
17.
 
18.
update r 
19.
set r.ref_inv_number = replace(r.ref_inv_number, substring(r.ref_inv_number, patindex('%[^0-9]%', r.ref_inv_number), 1), '') 
20.
--select * 
21.
from 	exp_invoice_temp as inv 
22.
		inner join exp_inv_relevant_inv as r 
23.
		on inv.exp_inv_id = r.exp_inv_id 
24.
	where	inv.retailer_id = 1282  
25.
	--	and inv.sender_id = 2665  
26.
		and patindex('%[^0-9]%', r.ref_inv_number) <> 0 
27.
		and inv.seq is null 
28.
 

Vielen dank!!!

Julia
Mitglied: dog
14.10.2009 um 16:02 Uhr
Verrätst du uns auch noch um welche SQL-Implementation es sich handelt?
Bitte warten ..
Mitglied: Praktikantin
14.10.2009 um 16:47 Uhr
Hallo dog (Inuyasha),

tut mir leid hab es vergessen... Es ist für den Sql Server.

Julia
Bitte warten ..
Mitglied: dog
14.10.2009 um 18:26 Uhr
Ich kenne mich mit SQL Server zwar nicht aus, aber müsste es nicht eher

01.
while @@rowcount > 0 
02.
	BEGIN 
03.
 
04.
		update inv 
05.
			set inv.inv_number = replace(inv.inv_number, substring(inv.inv_number, patindex('%[^0-9]%', inv.inv_number), 1), '') 
06.
			from exp_invoice_temp as inv 
07.
				where  inv.retailer_id = 1282 
08.
					and inv.seq is null 
09.
						and patindex('%[^0-9]%', inv.inv_number) <> 0 
10.
 
11.
		update r 
12.
			set r.ref_inv_number = replace(r.ref_inv_number, substring(r.ref_inv_number, patindex('%[^0-9]%', r.ref_inv_number), 1), '') 
13.
			from exp_invoice_temp as inv 
14.
				inner join exp_inv_relevant_inv as r 
15.
					on inv.exp_inv_id = r.exp_inv_id 
16.
				where	inv.retailer_id = 1282  
17.
					and patindex('%[^0-9]%', r.ref_inv_number) <> 0 
18.
						and inv.seq is null 
19.
	END
sein?

Grüße

Max
Bitte warten ..
Mitglied: Praktikantin
14.10.2009 um 19:02 Uhr
Hallo Max,

leider läuft es nicht so... Danke auf jeden Fall für die schnelle Antwort!!!

Julia
Bitte warten ..
Mitglied: MadMax
15.10.2009 um 09:50 Uhr
Hallo Julia,

vielleicht solltest Du erst mal dafür sorgen, daß @@rowcount > 1 ist, indem Du z.B. ein "select 1" vor die beiden "while @@rowcount > 1" stellst.

Gruß, Mad Max
Bitte warten ..
Mitglied: Praktikantin
15.10.2009 um 10:25 Uhr
Hallo Max,

das werde ich mal versuchen. Danke noch einmal für den Tipp!

Julia
Bitte warten ..
Mitglied: Netzheimer
20.10.2009 um 08:43 Uhr
Hallo Julia

<code>

while @@rowcount > 0

update inv
set inv.inv_number = replace(inv.inv_number,
substring(inv.inv_number, patindex('%[^0-9]%',
inv.inv_number), 1), '')
--select inv_number, replace(inv.inv_number,
substring(inv.inv_number, patindex('%[^0-9]%',
inv.inv_number), 1), '')
from exp_invoice_temp as inv
where inv.retailer_id = 1282
-- and sender_id = 2665
and inv.seq is null
and patindex('%[^0-9]%', inv.inv_number) <> 0

...

Ich glaube, dein Problem liegt daran, dass @@rowcount die Anzahl betroffener Zeilen zählt, somit also nach dem Statement stehen müsste.

Was möchtest du denn mit Rowcount zählen?

Der Ansatz von dog mit BEGIN und END nach dem WHILE ist schon mal gut. Gehört sich so.

Gruß, Netzheimer
Bitte warten ..
Ähnliche Inhalte
Monitoring
Shutdown Prozedur nach einem Stromausfall - USV
Frage von chrisschmitt93Monitoring1 Kommentar

Hallo Leute , wir müssen derzeit für die Schule ein Projekt in einer für jedermann bekannten Firma ( die ...

Visual Studio
Prozedur zu groß VBA
Frage von peterchen1976Visual Studio2 Kommentare

Hallo ich habe ein Exel in welches ich eine sehr sehr lange Prozedur reinschreibe dann bekomme ich den Fehler: ...

Datenbanken
Mehrere Prozeduren untereinander ausführen
Frage von c64b311ee9Datenbanken

Guten Morgen liebe Community, ich bin leider gerade zu blöd (vielleicht gibt es ja auch keinen Weg, aber das ...

Datenbanken
MySQL Workbench - EER Diagramm - Namen von Funktionen und Prozeduren in Routinengruppe vollständig darstellen?
Frage von mabue88Datenbanken

Hallo, weiss jemand wie man die Funktions- und Prozedurennamen innerhalb einer Routinengruppe im EER-Diagramm vollständig darstellen kann? Bei mir ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Windows Server
DNS Forwarding an andere Domäne
Frage von detox91Windows Server9 Kommentare

Hallo, für Testzwecke haben wir bei uns eine zweite Windows Domäne (B.local) aufgebaut, welche komplett unabhängig und isoliert der ...