Frage von Schloni1995, 19

Kann ich in eine selektierte Tabellenabfrage Werte "insterten"?

Ich habe eine Tabelle, wie auf dem Bild. Ich möchte, da einen Datensatz einfügen, aber ich kann mir nicht vorstellen, wie das geht ohne diese Abfrage zu zerreisen.

Das ist für eine Zeitenstempelung. Das soll den Sinn haben, dass ich nicht immer mit dem Chip an das Gerät rennen muss um mich in die Pause zu melden.

use time;   
select M.persnr, nname, vname, gehtart,aDatum,B.AGeht as time
from ZK_Head as A
inner join Zeitkonto as B on B.idZK_Head = A.id 
left join Mitarbeiter as M on M.persnr = A.Persnr 
where altpersnr =   135   and aDatum = '06.09.2016' and B.AGeht is not null
union 
select M.persnr, nname, vname, kommtart,aDatum,B.AKommt as time
from ZK_Head as A
inner join Zeitkonto as B on B.idZK_Head = A.id 
left join Mitarbeiter as M on M.persnr = A.Persnr
where altpersnr = 135   and aDatum = '06.09.2016' and B.AKommt is not null
order by time ; 
Antwort
von thinkoffname, 6

Verwende PL/SQL. Erstelle einen Cursor auf genau diese Abfrage und lass ihn in einem loop laufen. Darin kannst du dann Daten einfügen.

Etwa so:

DECLARE
cursor cursorname is deine_abfrage_hier;
BEGIN
open cursorname;
FOR record_index in cursorname
LOOP -- sry weiß hier nicht weiter bin Anfänger in plsql --
EXIT WHEN bedingung; END LOOP; END;

Schau mal hier http://www.oracle.com/technetwork/issue-archive/2013/13-mar/o23plsql-1906474.htm...

Keine passende Antwort gefunden?

Fragen Sie die Community