產品手冊 實施方案 用戶案例 問題中心

將個人網盤文件轉移(用戶A轉至用戶B指定目錄下)

分類:二次開發 產品中心 1730
— 個人網盤用戶A 所有網盤數據都轉至 用戶B 根目錄下的一個目錄中(此目錄自動創建,名稱:轉自【用戶A】_YYYYmmdd)
BEGIN
? Declare @strUserLogin1 as nvarchar(32)
? Declare @strUserLogin2 as nvarchar(32)
? Declare @strUserName1 as nvarchar(64)
? Declare @strUserName2 as nvarchar(64)
? Declare @nUserIndex1 as int
? Declare @nUserIndex2 as int
? Declare @strTabIndex1 as nchar(1)
? Declare @strTabIndex2 as nchar(1)
? Declare @strCatalogID as nvarchar(36)
? Declare @strCatalogName as nvarchar(64)
? Declare @strSQL as nvarchar(1024)
? Declare @strOwner as nvarchar(32)
? Declare @strOwnerName as nvarchar(64)
? Declare @nNDIndex as int
? Declare @strDate as nvarchar(8)
? — 指定用戶A 與 用戶B 的登錄名,最好小寫
? Set @strUserLogin1 = N’用戶A’
? Set @strUserLogin2 = N’用戶B’
? Set @nUserIndex1 = -1
? Set @nUserIndex2 = -1
? — 申請游標,得到用戶個人網盤信息
? Declare userindex_cursor cursor for (SELECT Lower( CN_S_OWNER_ID ), CN_S_OWNER_NAME, CN_N_NDX FROM OI_ND_USER WHERE CN_S_OWNER_ID IN ( @strUserLogin1, @strUserLogin2 ) )
? — 打開游標
? Open userindex_cursor
? — 開始循環游標變量
? Fetch Next From userindex_cursor into @strOwner, @strOwnerName, @nNDIndex
? — FETCH 后的游標狀態
? While @@FETCH_STATUS = 0
? Begin
? ? If @strOwner = @strUserLogin1
? ? Begin
? ? ? Set @nUserIndex1 = @nNDIndex
? ? ? Set @strUserName1 = @strOwnerName
? ? End
? ? Else
? ? Begin
? ? ? Set @nUserIndex2 = @nNDIndex
? ? ? Set @strUserName2 = @strOwnerName
? ? End
? ? — 轉到下一個游標
? ? Fetch Next From userindex_cursor into @strOwner, @strOwnerName, @nNDIndex
? End
? — 關閉游標
? Close userindex_cursor
? — 釋放游標
? Deallocate userindex_cursor
? — 判斷用戶索引
? If @nUserIndex1 = -1 Or @nUserIndex2 = -1
? Begin
? ? Print N’指定的用戶不存在’
? ? Return
? End
? — 生成表索引
? Set @strTabIndex1 = Str( @nUserIndex1, 1 )
? Set @strTabIndex2 = Str( @nUserIndex2, 1 )
? — 在用戶B根目錄下創建存放轉移數據的目錄:轉自【用戶A】_YYYYmmdd
? Print N’創建轉移數據的目錄’
? Set @strCatalogID = NewID()
? Set @strDate = Left( Convert( char(8), GetDate(), 112 ), 8 )
? Set @strCatalogName = ‘轉自【’ + @strUserName1 + ‘】_’ + @strDate
? Set @strSQL = N’INSERT INTO OI_ND_CATALOG ( CN_S_ID, CN_S_NAME, CN_N_DOC_LIST_TYPE, CN_N_SHARE, CN_S_CREATOR_ID, CN_S_CREATOR, CN_T_CREATE, CN_N_ORDER, CN_S_PARENTID ) ‘ +
N’VALUES ( ”’ + @strCatalogID + ”’, ”’ + @strCatalogName + ”’, 0, 0, ”’ + @strUserLogin2 + ”’, ”’ + @strUserName2 + ”’, GetDate(), 0, ”” )’
? EXEC( @strSQL )
? — 索引值相同,直接替換
? If @nUserIndex1 = @nUserIndex2
? Begin
? ? Print N’用戶索引相同’
? ? — 個人文檔表
? ? Print N’個人文檔表’
? ? Set @strSQL = N’UPDATE OI_ND_DOC_’ + @strTabIndex1 + N’ SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 根級目錄文檔
? ? Print N’根級目錄文檔’
? ? Set @strSQL = N’UPDATE OI_ND_CATALOG_HLINK_’ + @strTabIndex1 + N’ SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CATALOG_ID = ”’ + @strCatalogID + N”’ WHERE (CN_S_CATALOG_ID IS NULL OR CN_S_CATALOG_ID = ””) AND CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 子級目錄文檔
? ? Print N’子級目錄文檔’
? ? Set @strSQL = N’UPDATE OI_ND_CATATLOG_HLINK_’ + @strTabIndex1 + N’ SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? End
? — 索引值不同,數據記錄遷移(記錄復制至 B用戶索引表,刪除A用戶索引表記錄)
? Else
? Begin
? ? Print N’用戶索引不相同’
? ? — 個人文檔表,復制
? ? Print N’個人文檔表,復制’
? ? Set @strSQL = N’INSERT INTO OI_ND_DOC_’ + @strTabIndex2 + N’ ( CN_S_ID, CN_S_FILE_NAME, CN_S_FILE_TYPE, CN_N_FILE_SIZE, CN_T_FILE_DATETIME, CN_S_FILE_MD5, CN_S_FILE_SERVER, CN_G_FILE_ID, CN_G_PDF_FILE_ID, CN_G_FLASH_FILE_ID, CN_G_THUMB_IMAGE_ID, CN_S_THUMB_URL, ‘ +
N’CN_S_CREATOR_ID, CN_S_CREATOR, CN_T_CREATE, CN_S_VERSION, CN_S_TAGS_NAME, CN_N_SHARE, CN_N_MOD, CN_S_NOTE, CN_S_SYS_NOTE ) ‘ +
N’SELECT CN_S_ID, CN_S_FILE_NAME, CN_S_FILE_TYPE, CN_N_FILE_SIZE, CN_T_FILE_DATETIME, CN_S_FILE_MD5, CN_S_FILE_SERVER, CN_G_FILE_ID, CN_G_PDF_FILE_ID, CN_G_FLASH_FILE_ID, CN_G_THUMB_IMAGE_ID, CN_S_THUMB_URL, ‘ +
N”” + @strUserLogin2 + N”’, ”’ + @strUserName2 + N”’, CN_T_CREATE, CN_S_VERSION, CN_S_TAGS_NAME, CN_N_SHARE, CN_N_MOD, CN_S_NOTE, CN_S_SYS_NOTE ‘ +
N’FROM OI_ND_DOC_’ + @strTabIndex1 +
N’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 刪除
? ? Print N’個人文檔表,刪除’
? ? Set @strSQL = N’DELETE OI_ND_DOC_’ + @strTabIndex1 + N’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 根級目錄文檔,復制
? ? Print N’根級目錄文檔,復制’
? ? Set @strSQL = N’INSERT INTO OI_ND_CATALOG_HLINK_’ + @strTabIndex2 + N’ ( CN_S_CREATOR_ID, CN_S_CATALOG_ID, CN_S_OBJ_ID, CN_S_DISPLAY_NAME, CN_S_FILE_TYPE, CN_N_FILE_SIZE, CN_S_THUMB_URL, CN_T_FILE_DATETIME, CN_S_EXTATTR, CN_N_SHARE, CN_T_LINK, CN_S_TAGS ) ‘ +
N’SELECT ”’ + @strUserLogin2 + N”’, ”’ + @strCatalogID + N”’, CN_S_OBJ_ID, CN_S_DISPLAY_NAME, CN_S_FILE_TYPE, CN_N_FILE_SIZE, CN_S_THUMB_URL, CN_T_FILE_DATETIME, CN_S_EXTATTR, CN_N_SHARE, CN_T_LINK, CN_S_TAGS ‘ +
N’FROM OI_ND_CATALOG_HLINK_’ + @strTabIndex1 +
N’ WHERE (CN_S_CATALOG_ID IS NULL OR CN_S_CATALOG_ID = ””) AND CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 刪除
? ? Print N’根級目錄文檔,刪除’
? ? Set @strSQL = N’DELETE OI_ND_CATALOG_HLINK_’ + @strTabIndex1 + N’ WHERE (CN_S_CATALOG_ID IS NULL OR CN_S_CATALOG_ID = ””) AND CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 子級目錄文檔,復制
? ? Print N’子級目錄文檔,復制’
? ? Set @strSQL = N’INSERT INTO OI_ND_CATALOG_HLINK_’ + @strTabIndex2 + N’ ( CN_S_CREATOR_ID, CN_S_CATALOG_ID, CN_S_OBJ_ID, CN_S_DISPLAY_NAME, CN_S_FILE_TYPE, CN_N_FILE_SIZE, CN_S_THUMB_URL, CN_T_FILE_DATETIME, CN_S_EXTATTR, CN_N_SHARE, CN_T_LINK, CN_S_TAGS ) ‘ +
N’SELECT ”’ + @strUserLogin2 + N”’, CN_S_CATALOG_ID, CN_S_OBJ_ID, CN_S_DISPLAY_NAME, CN_S_FILE_TYPE, CN_N_FILE_SIZE, CN_S_THUMB_URL, CN_T_FILE_DATETIME, CN_S_EXTATTR, CN_N_SHARE, CN_T_LINK, CN_S_TAGS ‘ +
N’FROM OI_ND_CATALOG_HLINK_’ + @strTabIndex1 +
N’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 刪除
? ? Print N’子級目錄文檔,刪除’
? ? Set @strSQL = N’DELETE OI_ND_CATALOG_HLINK_’ + @strTabIndex1 + N’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? End
? — 未分表的數據表,直接替換
? — 回收站,原根目錄文檔
? Print N’回收站,原根目錄文檔’
? Set @strSQL = N’UPDATE OI_ND_DOC_DELETE SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’, CN_S_DELETED_BY_ID = ”’ + @strUserLogin2 + N”’, CN_S_DELETED_BY = ”’ + @strUserName2 + N”’, CN_G_CATALOG_ID = ”’ + @strCatalogID + N”’ ‘ +
N’WHERE (CN_G_CATALOG_ID IS NULL OR CN_G_CATALOG_ID = ””) AND CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
? — 回收站,其它目錄文檔
? Print N’回收站,其它目錄文檔’
? Set @strSQL = N’UPDATE OI_ND_DOC_DELETE SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’, CN_S_DELETED_BY_ID = ”’ + @strUserLogin2 + N”’, CN_S_DELETED_BY = ”’ + @strUserName2 + N”’ ‘ +
N’WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
? — 歷史表
? Print N’歷史表’
? Set @strSQL = N’UPDATE OI_ND_DOC_HISTORY SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’, CN_S_OPERATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_OPERATOR = ”’ + @strUserName2 + N”’ ‘ +
N’WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
? — 根級目錄
? Print N’根級目錄’
? Set @strSQL = N’UPDATE OI_ND_CATALOG SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’, CN_S_PARENTID = ”’ + @strCatalogID + N”’ ‘ +
N’WHERE (CN_S_PARENTID IS NULL OR CN_S_PARENTID = ””) AND CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
? — 子級目錄
? Print N’子級目錄’
? Set @strSQL = N’UPDATE OI_ND_CATALOG SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’ ‘ +
N’WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
? — 共享出去信息替換
? Print N’共享出去信息替換’
? Set @strSQL = N’UPDATE OI_ND_SHARE_OUT SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
? — 刪除共享進來 A -> B,B -> A 記錄
? Print N’刪除共享進來 A -> B,B -> A 記錄’
? Set @strSQL = N’DELETE OI_ND_SHARE_IN WHERE (CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N”’ AND CN_S_SHARER_ID = ”’ + @strUserLogin2 + N”’) OR (CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’ AND CN_S_SHARER_ID = ”’ + @strUserLogin1 + N”’)’
? EXEC( @strSQL )
? — 共享進來信息替換
? Print N’共享進來信息替換’
? Set @strSQL = N’UPDATE OI_ND_SHARE_IN SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
END
GO
標簽:腳本 上一篇: 下一篇:
展開更多
預約軟件體驗

loading...

主站蜘蛛池模板: 中国人观看的视频播放中文| 午夜男人一级毛片免费| 亚洲人成77777在线播放网站不卡| AV中文无码乱人伦在线观看| 窝窝视频成人影院午夜在线| 成年女人18级毛片毛片免费| 国产一区二区精品久久岳| 久久久国产精品亚洲一区| 资源在线www天堂| 日日av拍夜夜添久久免费| 国产caowo13在线观看一女4男 | 亚洲国产精品sss在线观看AV| 8888四色奇米在线观看免费看| 毛片A级毛片免费播放| 国产精品第一页爽爽影院| 亚洲国产成人精品久久| 国产亚洲综合色就色| 日韩小视频在线观看| 国产人妖在线观看| 中文字幕加勒比| 真正国产乱子伦高清对白 | 国产午夜精品一区二区三区不卡| 久久久亚洲欧洲日产国码二区| 色噜噜狠狠色综合日日| 小呦精品导航网站| 亚洲黄色中文字幕| 18禁网站免费无遮挡无码中文| 月夜直播手机免费视频高清 | 国产天堂亚洲精品| 中文字幕在线视频网站| 精品一区二区三区在线播放视频| 大乳丰满人妻中文字幕日本| 亚洲欧美日韩在线| 四虎在线最新永久免费| 日本处888xxxx| 内射一区二区精品视频在线观看| jealousvue熟睡入侵中| 欧美寡妇xxxx黑人猛交| 国产好吊妞视频在线观看| 中国大陆高清aⅴ毛片| 男人j桶进女人p无遮挡在线观看|