sql server 游標的運用
昨天由於要對資料庫中大片沒有插入的資料進行修復,因此想到了遍歷每條資料和修改遍歷的資料。
由於並沒有有序的字段,不能簡單的用while迴圈,因此,需要用到游標。
下面對sql 語句進行分析。
begin
declare @pid varchar(50)
declare @path varchar(260)
declare @date varchar(50)
declare @rpath varchar(260)//前4行是宣告的變數
declare order_cursor cursor
for(select[patient_id]from [hisreport1].[dbo].[his_report] where report_date between 『2017-01-05』 and 『2017-01-06』)//第
五、六行用於宣告乙個游標,並指明游標作用範圍
open order_cursor//開啟乙個游標
fetch next from order_cursor into @pid //將查到結果的第乙個值賦給變數pid
while @@fetch_status=0//開始進行迴圈,判斷fetch的狀態
begin
select @date=exam_date from [zhilikangdrpacs].[dbo].[dicom_baseinfo] where patient_id=@pid
set @rpath=』\192.168.0.25\imagedata2』+stuff(stuff(@date,7,2,』』),5,0,』-』)+』』+stuff(@date,1,6,』』)+』』+@pid+』』
update [hisreport1].[dbo].[his_report] set image_path=@rpath where patient_id=@pid
fetch next from order_cursor into @pid
end//begin 和and 之間是你想要處理的語句
close order_cursor//關閉游標
deallocate order_cursor//釋放游標
endgo
這裡再說一下stuff函式,stuff(param1,param2,param3,param4);
引數1是要處理的字串,可以是常量也可以是變數
引數2表明要處理欄位的開始位置
引數3表明從要處理欄位的開始位置處理多長位元組
引數4表示修改方法,刪除就寫『』,替換就寫要替換的東西
c 連線sqlserver資料庫並顯示
一 先進入sqlserver2008r2 建立乙個資料庫student 二 在student資料庫下建立資料表student 三 進入vs2013新建乙個專案,建立乙個form窗體,拖乙個button 按鈕 拖乙個datagridview用於顯示資料表 四 雙擊button按鈕 private vo...
solr連線sqlserver資料庫並匯入資料
新建的core資料夾下conf solrconfig.xml中加 config是上級節點 dataimport class org.apache.solr.handler.dataimport.dataimporthandler defaults config data config.xml str...
jdbc連線Sql server資料庫,並查詢資料
string driver com.microsoft.sqlserver.jdbc.sqlserverdriver string url jdbc sqlserver string user sa string password 123456 connection con null prepare...