學習筆記(3)

來源:互聯網
上載者:User

   1、約束的操作
   Cascade, No Action理解
   當在建立約束時選上Cascade,或代碼建立時添加ON Delete CASCADE,當在主表刪除一行記錄時, 外表相關聯的記錄都會同時刪除
   當在建立約束時選上No Action,或代碼建立時添加ON Delete No Action,當在主表刪除一行記錄時, 如果外表關聯有資料, 則會提示出錯
   上面的只是Delete, 其實Update也是一樣的

   2、Unique約束
   如主鍵一樣,讓一列資料只能有唯一的值
  
   3、子查詢
   .NET面試者一般在筆試時都會有一條, 選出表A裡面第10-15行資料(ID是不連續的)
   這樣就需要子查詢來實現了, 記得五年前我第一次看到這個問題時, 我也不知道怎回事, 為什麼不通過ID來查詢呢?
   其實有時ID的不連續的, 所以需要用子查詢了
   select top 5 * from [A] where orderid not in (select top 9 orderid from [A] order by Orderid asc) order by Orderid asc

   4、select into 和 insert into select 查詢插入語句的區別
   select into from要求目標表不存在,因為在插入時會自動建立, 多用來建立暫存資料表時用到

   insert into select 要求目標表存在,只是把資料複製過來
 
   5、視圖的update, Insert資料
   update useraccountview set code='CA001' where userid=2
   Insert資料其實是在視圖裡面建立觸發器(Instead of)來插入資料, 在觸發器中通過inserted來取得需要的資料, 然後插入相應的表
   所以在視圖中也是可以update與insert資料, 不過建議不要在視圖中操作, 因為考慮不周會引起好多麻煩的問題, 如果多表的插入或update, 建議用預存程序來實現

   6、視圖加密
   Create view User_View
     with cncryption 
   AS
   多上with cncryption就可以加密了, 這樣就查看不到視圖的內容, 另外 還有一個with schemabinding也有一點作用。 哈哈
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.