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

Prozedur mit Rowcount und Loops

Mitglied: Praktikantin

Praktikantin (Level 1) - Jetzt verbinden

14.10.2009 um 15:51 Uhr, 3378 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 ...

Windows Netzwerk

Korrekte Prozedur Domänencomputer Windows 10 Neuinstallation

Frage von lcer00Windows Netzwerk7 Kommentare

Hallo zusammen, bezugnehmend auf dieses Thread wollte ich nur noch mal nachfragen, wie man korrekterweise den PC innerhalb der ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 4 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Olle Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 13 StundenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
OpenVPN Client Fehlermeldungen
Frage von chris84LAN, WAN, Wireless15 Kommentare

Hallo Zusammen, wir nutzen seit kurzem einen neuen Router und den OpenVPN Client. Die VPN Verbindung klappt; allerdings kommen ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit14 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...