16
我在做什麼:讀取日誌並將必要的數據插入到3個不同的表中,以獲取彼此的信息。從選擇查詢中插入Microsoft SQL Server
LOG_ITEM201303
在gamelogs db上找到。
Mail_Item_Table
,Mail_List_Table
,Mail_Message_Table
在遊戲數據庫中找到。
郵件表通過索引連接。
CHAR_KEY
,NAME
,ITEMNUM
是我需要用於查詢的值。
查詢我從日誌中獲取的數據:以上日誌查詢
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')
樣品結果(實際總的結果是在600多個):
CHAR_KEY NAME ITEMNUM
-----------+----------------+-----------
28257 | clarkailey | 14438
894367 | Wolf | 15023
2869858 | HOPEINME | 14437
現在我需要自動將每行插入到此查詢中:
CHAR_KEY NAME ITEMNUM
-----------+----------------+-----------
2869858 | HOPEINME | 14437
(此查詢顯示上面的第3個示例數據的示例泰德...
而不是使這個查詢每個條目是有這樣的方式來完成的更快)
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())
我的問題:?
如何自動化這一切,查詢將讀取所有日誌並逐行插入數據。 非常感謝。
我可以使用@variables這個嗎?
select..into子句的幫助嗎? http://msdn.microsoft.com/en-us/library/ms190750(v=sql.90).aspx – Tim
我正在調查它。謝謝。看起來像我不能使用'SELECT INTO'。 – madziikoy
基本上你想要做的是從LOGITEM201303 DB讀取數據,並將數據插入到你提到的3個表中,對吧?並且每行(來自LOGITEM DB)中的數據將顯示在這三個表中? – GayanSanjeewa