資料庫學習隨筆

来源:http://www.cnblogs.com/ghylzwsb/archive/2016/04/12/5384696.html
-Advertisement-
Play Games

這篇隨筆用來記錄資料庫的學習,隨時更新補充,主要寫一些比較少關註的內容 PERSISTED: 說明物理存儲計算列的值(書本上的解釋,什麼鬼意思...) 現實操作中,CHECK、FOREIGN KEY 和 NOT NULL 約束要求計算列是持久化(PERSISTED)的。 大概它的作用就是這個吧? A ...


這篇隨筆用來記錄資料庫的學習,隨時更新補充,主要寫一些比較少關註的內容

 

 

PERSISTED:

 

說明物理存儲計算列的值(書本上的解釋,什麼鬼意思...)

 

現實操作中,CHECK、FOREIGN KEY 和 NOT NULL 約束要求計算列是持久化(PERSISTED)的。

大概它的作用就是這個吧?

 

AS CONVERT (AS是計算列關鍵字,CONVERT將字元串從一個字元集轉化為另一個字元集):

CREATE TABLE test.測試
(
字元串 char(10) PRIMARY KEY

新字元串 AS CONVERT(TINYINT,SUBSTRING(字元串,3,2)) PERSISTED NOT NULL  --從字元串第三位開始(包括第三位),截取兩個字元

)

 

CHECK 裡面使用 OR  IN

CREATE TABLE test.學生(
學號 char(10) PRIMARY KEY,
姓別 char(2) CHECK(姓別='男' OR 姓別='女'),
狀態 char(4) CHECK(狀態 IN('正常','留級','休學','退學'))
)

 

聯合關鍵字?

(1)學號和課程編號兩列構成主關鍵字(需要表級完整性約束)

(2)學號參照學生表的學號(約束選課的學生必須存在)

(3)課程編號參照課程表的課程編號(約束被選的課程必須存在)

CREATE TABLE test.選課
(
學號 char(10) FOREIGN KEY REFERENCES student.學生,
課程編號 char(6) FOREIGN KEY REFERENCES student.課程,
考試成績 tinyint CHECK(考試成績 BETWEEN 0 AND 100) DEFAULT NULL
PRIMARY KEY(學號,課程編號)
)

 

如果某列定義了外部關鍵字約束,則需要先刪除相關的約束,才能刪除此列。

CREATE TABLE test.課程(
責任教師 char(6) CONSTRAINT duty_teacher
FOREIGN KEY REFERENCES student.教師(編號),
)

第一步:ALTER TABLE test.課程 DROP duty_teacher

第二步:ALTER TABLE test.課程 DROP COLUMN 責任教師

 

ON DELETE SET NULL --當刪除時,該列置為空值

ON UPDATE CASCADE --級聯更新

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 《超實用的Node.js代碼段》連載一:獲取Buffer對象位元組長度 《超實用的Node.js代碼段》連載二:正確拼接Buffer Node.js是一種後起的優秀伺服器編程語言,它用來構建和運行Web應用,這和ASP.NET,Ruby on Rails或Spring框架做的工作是類似的。它使用Jav ...
  • 今天在使用bootbox做彈出提示遇到些麻煩,由於使用kendoWindow先彈出數據輸入視窗, 然後在檢核輸入時,又用bootbox做為提示視窗,這下悲劇了,後彈出的bootbox視窗總是在kendoWindow後面, 查了兩者的API文檔,均沒有設置的地方,木有辦法,只能自己搞了,使用調試工具查 ...
  • × 目錄 [1]定義 [2]漸變線 [3]色標 [4]重覆漸變 [5]多背景 [6]應用場景 [7]IE相容 前面的話 在CSS3出現之前,漸變效果只能通過圖形軟體設計圖片來實現,可拓展性差,還影響性能。如今已經進入CSS3標準的漸變可以很輕鬆的完成漸變效果。漸變實際上分為線性漸變和徑向漸變兩種,本 ...
  • 在CSS3中是提倡使用選擇器來將樣式與元素直接綁定在一起的。 網頁開發過程中,我們需要定義很多class來應用到不同的元素上,由於class本身是沒有語義而且是可以復用的,所以過度使用class會使得整個樣式表結構非常混亂。為了減少class的使用頻度,需要儘可能的使用選擇器來指定元素。而且使用選擇 ...
  • JavaScript語言有多種方式,創建互動式網站,Web應用程式。基本的JavaScript框架是預先寫好的JavaScript代碼集。這些JavaScript框架也被稱為JavaScript庫,開發這種編程語言在很多方面的應用。它是通過使用JavaScript代碼同這些JavaScript框架寫 ...
  • 技巧1: 我們可以發現id只能在內部使用,不會污染全局,這是傳統的閉包寫法。我們修改一下寫法 修改後的寫法使得外部能夠使用內部定義的id,而內部的id不會污染外部環境。 技巧2: 當字元串不會因為大小寫受影響時,推薦統一轉換為小寫或者大寫後進行使用。這樣就不會受到大小寫的影響。例如: 這樣不管元素名 ...
  • 第一次做移動端的頁面,遇到的第一個問題就是移動端的輪播圖。其實輪播圖的插件有很多,但是完全滿足需求的並不容易找。 需求: 1.實現基本的觸屏輪播圖效果 2.傳入非標準比例的圖片,可以自動平鋪(有時候圖片可能比例略有偏差,當然例子里的圖是隨便找的,平鋪之後不能看呀) 3.輪播圖模塊能實現自適應,按照固 ...
  • 實例:ORACLE到ORACLE的數據傳遞 編寫job.xml文件,添加變數參數 執行datax.py文件時記得帶參數 格式:./datax.py –p"-Ddbname=*** -Dip=***" job.xml 實現指定的列名數據傳遞 修改reader裡面的colums和writer裡面的col... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...