Was ich versuche zu tun: Lesen Sie die Protokolle und fügen Sie die erforderlichen Daten in 3 verschiedene Tabellen, die Informationen voneinander erhalten.Microsoft SQL Server einfügen von Select-Abfrage
LOG_ITEM201303
wird auf gamelogs db gefunden.
Mail_Item_Table
, Mail_List_Table
, Mail_Message_Table
ist im Spiel db gefunden.
Die Mail-Tabellen sind über die Indizes verbunden.
CHAR_KEY
, NAME
, ITEMNUM
sind die Werte, die ich für meine Abfragen verwenden muss.
Die Abfrage für mich, die Daten aus den Protokollen zu erhalten:
SELECT CHAR_KEY, NAME, ITEMNUM
FROM LOG_ITEM201303
where
(
ITEMNUM = 14317
OR ITEMNUM = 14318
OR ITEMNUM = 15478
OR ITEMNUM = 15479
OR ITEMNUM = 14301
OR ITEMNUM = 14302
OR ITEMNUM = 15476
OR ITEMNUM = 15477
OR ITEMNUM = 15018
OR ITEMNUM = 15019
OR ITEMNUM = 15020
OR ITEMNUM = 15021
OR ITEMNUM = 15022
OR ITEMNUM = 15023
OR ITEMNUM = 15024
OR ITEMNUM = 15025
OR ITEMNUM = 14437
OR ITEMNUM = 14438
OR ITEMNUM = 15656
OR ITEMNUM = 15657
OR ITEMNUM = 15658
OR ITEMNUM = 15659
OR ITEMNUM = 15660
OR ITEMNUM = 15661
OR ITEMNUM = 15662
OR ITEMNUM = 15663
) AND (KIND = 133) AND (Convert(varchar, OCCUR_TIME,111) < '2013/03/22')
Beispielergebnis von Protokollen Abfrage oben (insgesamt die tatsächlichen Ergebnisse sind in 600+):
CHAR_KEY NAME ITEMNUM
-----------+----------------+-----------
28257 | clarkailey | 14438
894367 | Wolf | 15023
2869858 | HOPEINME | 14437
Jetzt muss ich fügt automatisch jede Zeile in diese Abfrage ein:
CHAR_KEY NAME ITEMNUM
-----------+----------------+-----------
2869858 | HOPEINME | 14437
(Diese Abfrage zeigt ein Beispiel für die oben genannten dritten Beispieldaten ted ...
stattdessen für jeden Eintrag diese Abfrage zu machen ist es eine Möglichkeit, schneller erledigt für diese)
INSERT INTO Mail_Item_Table
(ItemNumber, ItemInfo, ReceiveDate)
VALUES
(14437, --this is the ITEMNUM
(SELECT CONVERT(BINARY(16), REVERSE(CONVERT(BINARY(16), 14437)))), NULL)
INSERT INTO Mail_Message_Table
(Message)
VALUES
('Automated Message from the ADMIN.')
INSERT INTO Mail_List_Table
(ReceiverCharKey, MailListIndex, MailItemIndex, MailMessageIndex, Sender, Receiver, SendDate)
VALUES
(2869858, --this is the CHAR_KEY
(SELECT TOP 1 MailListIndex+1 as last_entry
FROM Mail_List_Table
WHERE sender = 'SENDER'
ORDER BY MailListIndex DESC),
(SELECT TOP 1 MailItemIndex AS last_entry
FROM Mail_Item_Table
ORDER BY MailItemIndex DESC),
(SELECT TOP 1 MailMessageIndex AS last_entry
FROM Mail_Message_Table
ORDER BY MailMessageIndex DESC),
'SENDER',
'HOPEINME', --this is the NAME
getdate())
Meine Frage:
Wie all dies zu automatisieren, dass die Abfrage lesen alle Protokolle und fügen Sie die Daten Zeile für Zeile. Vielen Dank.
Kann ich @variables dafür verwenden?
select..into-Klausel Hilfe? http://msdn.microsoft.com/en-us/library/ms190750(v=sql.90).aspx – Tim
Ich untersuche es. Vielen Dank. [Bearbeiten] Seem ist wie ich kann nicht SELECT INTO verwenden. – madziikoy
Im Grunde, was Sie tun möchten, ist das Lesen von Daten aus LOGITEM201303 DB und Einfügen von Daten in die 3 Tabellen, die Sie erwähnt haben, nicht wahr? Und Daten in jeder Zeile (kommen von LOGITEM DB) gehen in diese drei Tabellen wie angezeigt? – GayanSanjeewa