最近在一個站點,我們有很多丟失的圖像,我不得不恢復。該網站是一家醫院,我能夠恢復所有圖像,並將所有內容放入臨時表格中,包括受到影響的:遇到的病歷號碼,文檔和副標題。我現在試圖創建一個長文本文件來顯示每個受到影響的遭遇,如果有一個遭遇的文件,它會顯示所有遇到的文件。每個受影響的帳戶將以文件中的%% START開頭,並以%% END結尾。我想完成這一點,最好是做一個遊標來排序這個表中的遇到的事情。 THen ....光標通過遇到的所有文檔包含遇到。我的腳本是這樣的:光標在另一個光標的內部沒有返回正確的結果
declare
@name varchar(40),
@mrn varchar(20),
@encounter varchar(20),
@document varchar(30),
@subtitle varchar(30),
@cmd varchar(255),
@count int
declare find_affected cursor for
select distinct p.name, m.mrn, m.encounter from mck_hpf..missing_documents m
join his..patients p on m.mrn=p.mrn
open find_affected
fetch next from find_affected into @mrn, @name, @encounter while
@@FETCH_STATUS=0
begin
select @mrn = mrn from mck_hpf.dbo.missing_documents where encounter = @encounter
select @name=name from his.dbo.patients where [email protected]
select @encounter = encounter from mck_hpf.dbo.missing_documents where encounter = @encounter
Print '%%START'
Print ''
Print 'Name: ' + @name
Print 'MRN: ' + @mrn
Print 'Encounter: ' + @encounter
Print 'Possible affected documents in this chart:'
declare find_document cursor for
select distinct(document), subtitle from mck_hpf..missing_documents m
join his..encounters e on e.encounter=m.encounter where @mrn=m.mrn and @encounter=m.encounter
open find_document
fetch next from find_document into @document, @subtitle
while @@FETCH_STATUS=0
begin
select @document = document from mck_hpf.dbo.missing_documents where encounter = @encounter
select @subtitle = subtitle from mck_hpf.dbo.missing_documents where encounter = @encounter and [email protected]
Print @document + '-' + @subtitle
fetch next from find_document into @document, @subtitle
end
close find_document
deallocate find_document
Print ''
Print ''
Print '%%END'
fetch next from find_affected into @mrn, @name, @encounter
end
close find_affected
deallocate find_affected
go
該腳本好,循環通過正確的遭遇.....但由於某種原因它不工作的文件。例如....遭遇123在missing_documents表可以說2個文件名爲UB04和1500 ....當腳本完成的,而不是說:這個圖表中
Name: Mickey Mouse
MRN: 11111111
Encounter: 123456789
可能受影響的文件:
UB04
1500
它會說:
Name: Mickey Mouse
MRN: 11111111
Encounter: 123456789
可能受影響的文件,此圖中:
UB04
UB04
這就像光標知道有2個丟失的文檔,但它重複了它一遍又一遍地找到的第一個文檔。 IT對所有的遭遇都這樣做......如果有6個丟失的文檔,它會提取第一個文檔並不斷重複。
IT花了我一段時間才弄到這一點,讓它工作,我只是不知道該從哪裏走,因爲我認爲我的代碼看起來是正確的。我在這裏搜索,但沒有發現任何可以幫助我的東西。任何幫助,將不勝感激。謝謝您
戈登....我的這樣一個愚蠢的錯誤....謝謝你非常喜歡第二套眼睛! –