Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Cursor auf SQL-Tabelle

Frage Entwicklung Datenbanken

Mitglied: Fred666

Fred666 (Level 1) - Jetzt verbinden

15.07.2011, aktualisiert 14:28 Uhr, 2271 Aufrufe, 1 Kommentar

Es wird SQL2005 verwendet...

Hey ... diese Frage ist mit sicherheit Trivial jedoch komm ich auf keinen Grünen zweig.

Ich habe eine Tabelle mit Werkstücken mit den Spalten: Werkstueck_ID, Anzahl, Bearbeitung_ID, Startzeit, Endzeit
So nun ist es so, dass ich die Daten alle bis auf Endzeit bekomme über ein Batch-File einspiele, dh. ich muss die Endzeit nachträglich eintragen. Bei vielen Daten macht das auch dementsprechend viel Arbeit alle von Hand nachzutragen. Und zwar will ich in die Endzeit eintragen:

01.
 Endzeit = DATEADD(ss,Bearbeitung.Bearbeit_ID*Anzahl, Startzeit)

Schön wäre es noch, wenn ich aus der berechneten Endzeit die Sekunden auffülle bis 59. Also bei einer Endzeit von 11:02:13 soll 11:02:59 eingefügt werden.

So nun möchte ich eine Schleife erstellen mit einem Cursor die mir für alle Daten in der Tabelle Werkstuecke nun diesen Befehl ausführt.

Kann mir da jemand einen Lösungsansatz bieten?!?

Danke und Grüße
Fred

EDIT_NEU: SO ich hab das mit dem Curser hinbekommen allerdings nur das!! Wäre supper wenn mir jemand das mit den 59 Sekunden Zeigen könnte!!

01.
DECLARE MyCursor CURSOR FOR 
02.
		SELECT werkstueck_id, Anzahl, StartZeit, EndZeit, t.Bearbeitdauer 
03.
		FROM dbo.Werkstueck INNER JOIN dbo.Bearbeitung AS t 
04.
		ON dbo.Werkstueck.Type_ID = t.Type_ID; 
05.
OPEN MyCursor 
06.
 
07.
declare @ID bigint 
08.
declare @anzahl int; 
09.
declare @dauer int; 
10.
declare @startzeit datetime; 
11.
declare @zeit datetime; 
12.
 
13.
WHILE @@FETCH_STATUS = 0 
14.
BEGIN 
15.
	FETCH next from MyCursor INTO @ID, @anzahl,@startzeit,@dauer 
16.
	SET @zeit = DATEADD(ss,@dauer*@anzahl, @startzeit) 
17.
	 
18.
	UPDATE dbo.werkstueck 
19.
	   SET [EndZEIT] = @zeit 
20.
	 WHERE Werkstueck_ID = @ID 
21.
END 
22.
CLOSE MyCursor; 
23.
DEALLOCATE MyCursor; 
24.
GO
Mitglied: Fred666
15.07.2011 um 16:15 Uhr
Frage hat sich beantwortet .... ein DATAPART war die Lösung

Grüße Fred
Bitte warten ..
Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Installation
Eine etwas (wirklich) speziellere Frage: Windows 10-Installation über (14)

Frage von DerFurrer zum Thema Windows Installation ...

Linux
gelöst Boot failed: not a bootable disk (10)

Frage von Fleckmen zum Thema Linux ...

Netzwerkgrundlagen
gelöst Cisco SG500 Series LAG hat sich von selbst umgestellt (10)

Frage von Ex0r2k16 zum Thema Netzwerkgrundlagen ...

Multimedia & Zubehör
gelöst Iphone 6 prob (9)

Frage von jensgebken zum Thema Multimedia & Zubehör ...