我不是新手編程,而是新手到mssql。我已經在網上尋求幫助,但我無處可去。卡住試圖在mssql中使用uiee
我有一個UIEE格式的圖書清單文件。
UR|2706
AA|Parker, William Harwar
TI|RECOLLECTIONS OF A NAVAL OFFICER, 1841-1865:
XD|S
UR|15184
AA|Goodrich, Norma Lorre
TI|King Arthur
等等。正如你看到的每一行都被標記了一樣,每條記錄都以'UR'標記開始,並以'XD'標記結束。我已經把這個上傳到了一個名爲testuiee的mssql表格中,並帶有列標籤和數據。我試圖用sql來識別這些字段,並將它們放到另一個名爲btdata的表中。例如,把UR數據成冊ID,AA爲作者等
Book_id Author Title
2706 Parker, William Harwar RECOLLECTIONS OF A NAVAL OFFICER, 1841-1865:
15184 Goodrich, Norma Lorre King Arthur
我寫的作品,但只把最後一個記錄到btdata表中的腳本。我嘗試了條件處理(while,if,case)和一個遊標,但結果總是一個記錄,最後一個。亞瑟王在這個例子中。我確定它是因爲我正在逐行地思考事物,而不是數據塊,但我無法理解這一點。
這是我的代碼到目前爲止。
DECLARE @bookid nvarchar(max),
@author nvarchar(max),
@title nvarchar(max)
SELECT tag, data from testuiee
SELECT @bookid = data from testuiee where tag = 'UR'
SELECT @author = data from testuiee where tag = 'AA'
SELECT @title = data from testuiee where tag = 'TI'
IF @bookid IS NOT NULL
INSERT INTO btdata (book_id, author, title)
VALUES (@bookid, @author, @title)
GO
我確實嘗試使用'XD'標籤有條件地執行插入,但結果相同。
任何幫助將不勝感激。
你有一個行數場或類似的'testuiee'表訂購的?請記住,數據庫中的行是無序的,即使它們經常顯示爲處於插入順序。 – 2014-10-07 21:22:23
我沒有。感謝您的解釋。 – new2sql 2014-10-08 20:35:22