好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > sqlserver中操作主從關系表的sql語句

sqlserver中操作主從關系表的sql語句

熱門標簽:al智能電話機器人 最新人工智能電銷機器人 如何做地圖標注圖鋪 沒聽見電話機器人幫你接 銀川高頻外呼回撥系統多少錢 成都電話外呼系統一般多少錢 陜西電銷外呼系統好用嗎 蘭州語音外呼系統運營商 數字匠心電銷機器人
典型的方法就是對于主表的各數據字段進行更新或新增,對于從表一般都會先刪除相關的所有記錄,然后再進行插入。也就是說每次保存時,從表的數據都要重新執行一遍刪除再插入的過程。這是一個不錯的方法,在使用數據庫事務后,不會存在刪除后又沒有插入導致數據不一致的情況。
ok,原理是這樣,那么到實際的操作中,大家如何操作的呢?有人通過在程序中,通過多次數據庫操作完成如上的要求,這種方法可能存在這數據的不一致性,因為無法保證在兩個數據語句操作之間出現意外。那么我們就合并到一個存儲過程中去完成吧,復雜的參數和接收后處理,讓這個存儲過程變的困難。下邊我就結合實際應用說說此過程吧。應用場景,在學生管理中,添加一條學生記錄,對應的要 添加學生對應的課程。即每次更新和新增學生記錄,對應其課程也要跟著變化。
那么這個過程,就符合上邊的邏輯。
通用的參數傳遞,在此不再詳說,重點講解,科目信息傳遞過后怎么處理。假設從表Tb_StudentSubject 存在StudentId,SubjectId兩個字段。那么代碼如下:
復制代碼 代碼如下:

Create proc SaveInfo
(
---參數列表不再逐一書寫
@subjectList varchar(400))
as
begin tran
--新增或修改主表 省略
DECLARE @subjectID int,
@subjectIDsLen int,--科目長度
@subjectIDLen int,--單個科目長度
@nStart INT , -- 記錄查找的起始位置
@nLast INT -- 記錄‘,'的位置
select @subjectIDsLen=len(@SubjectIDs),@nStart=1,@nLast=0
DELETE Tb_StudentSubject WHERE StudentId=@sId --刪除相關的全部記錄
IF(@subjectIDsLen>0)
BEGIN
while(@nStart@subjectIDsLen)
BEGIN
set @nLast=charindex(',',@SubjectIDs,@nStart)--從第@nStart個位置開始記錄逗號的位置
set @subjectIDLen=@nLast-@nStart --記錄每個subjectID的長度
set @subjectID=substring(@SubjectIDs,@nStart,@subjectIDLen)--獲取一個subjectID
Insert Into Tb_StudentSubject(StudentId,SubjectID)values(@sId,@subjectID)
set @nStart=@nLast+1--設置下次查找的起始位置
END
END
if @@Error=0
commit transaction
else
rollback transaction
End


在這邊代碼中,科目列表通過“,”進行分割,上邊的存儲過程帶注釋,重點說明兩個系統自帶的函數
CHARINDEX ( expression1 ,expression2 [ , start_location ] )
expression1 :其中包含要查找的字符的序列
expression2 :通常是一個為指定序列搜索的列
start_location :開始在 expression2 中搜索 expression1 時的字符位置。如果 start_location 未被指定、是一個負數或零
另一個函數就是:SUBSTRING ( expression ,start , length )從指定的數據源串中從指定位置截取指定長度的串
其中 expression :是字符串、二進制字符串,要操作的數據源串
start:要截取的開始位置,注意此方法和C#自帶的位置不一樣,數據庫中strat從1開始,程序中從0開始
length:截取內容的長度
另外一個就len(expres) 這個就比較簡單了,獲取指定字符的長度
通過以上代碼,就可以實現一個完整存儲過程實現主從表數據的處理了,在數據一致性和操作便捷性得到保證,而且相同通用。
注:在涉及類似主從關系表中,建議不要在從表中設置自動編號的主鍵,因為頻繁的刪除和添加,導致主鍵不斷的累增,而且毫無使用此主鍵的意義。
以上內容是個人見解,希望大家多交流相應的方法。

標簽:朔州 通化 宜春 邢臺 鹽城 巴彥淖爾 遼源 本溪

巨人網絡通訊聲明:本文標題《sqlserver中操作主從關系表的sql語句》,本文關鍵詞  sqlserver,中,操作,主從,關系,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《sqlserver中操作主從關系表的sql語句》相關的同類信息!
  • 本頁收集關于sqlserver中操作主從關系表的sql語句的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产精品一区二区毛卡片| 机机对在一起30分钟软件下载| 岳看见我勃起了| 欧美大白屁股XXXOOO| 亚洲 成人 综合 另类| 强制中出受孕中文字幕| 家庭教师在线播放| 久久久久精品免费视频| 国产香蕉97碰碰久久人人更新至几集| 日本加勒比不卡a的一本| 3d漫画麻麻友人阿姗和明仔第| 湿乐园漫画| 偷吃高H公翁与熄| 91人妻人人澡人人爽人人精东影业 | 破处视屏| 嗯嗯啊啊啊啊| 婷婷丁香在线| japanese40乱熟| 國產亂倫親子亂伦小说在线阅读 | 国产成人久久| 亚洲一区二区三区亚瑟| 美腿 丝袜 亚洲 偷窥| 精品成人无码亚洲AV大象影院| 爆操学妹| 国产**毛片一级视频| 国产不卡高清视频在线观看| 无人码人妻一区二区三区免费| 中国裸男洗澡网站gay| 亚洲导航深夜福利app| 劳拉的性放荡bd中文版| 十八女下面流水不遮网站| 丰满岳妇乱一区二区三区| 亚洲欧美日韩在线观看播放| 成人午夜在线| 欧美国产日韩一区二区三区| 红桃视频aV一区二区三区 | 国产又色又爽无遮挡免费 | 国内精品久久久久精品爽爽| 狂欢节动漫在线观看免费中文版| k8经典网011经典片| 灬啊灬啊灬轻点在线观看|