freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

廣東海洋大學(xué)第四章sqlserver的使用-閱讀頁(yè)

2025-06-01 12:14本頁(yè)面
  

【正文】 ychar’已經(jīng)綁定了缺省defcity, 現(xiàn)取消該綁定,但是當(dāng)前使用 mychar類型的表列仍然保留該缺省 sp_unbindefault ‘ mychar’,FUTUREONLY ?SQL SERVER索引 ? 索引 是 SQL SERVER使用的一種內(nèi)部表結(jié)構(gòu),它基于表中一個(gè)或多個(gè)列的值,提供對(duì)表中行的快速存取。 ? 使用 索引 的 優(yōu)點(diǎn) 索引的主要目標(biāo)是提高數(shù)據(jù)頁(yè)的存取速度。 ? 提高查詢的執(zhí)行速度; ? 實(shí)施數(shù)據(jù)唯一性( UNQUE); ? 加速表之間的連接; ? 使用 索引 的 缺點(diǎn) 如果設(shè)計(jì)合理、索引可以提高查詢的性能。在創(chuàng)建索引時(shí),需要考慮的因素: ? 創(chuàng)建索引需要花費(fèi)時(shí)間; ? 每個(gè)創(chuàng)建的索引連同原先的數(shù)據(jù)源都需要空間存儲(chǔ)數(shù)據(jù) ; ? 每次修改表中的數(shù)據(jù)都需要更新索引; ?索引 的 分類 ? 聚集索引(簇索引); ? 非聚集索引(非簇索引); o 唯一索引; ?簇索引 (聚集索引 ) ? 數(shù)據(jù)被物理地排序。例如在一個(gè)數(shù)據(jù)表中,將 ‘ 編號(hào) ’ 設(shè)置為聚集索引,此時(shí)在該數(shù)據(jù)表中的數(shù)據(jù)將會(huì)按 ‘ 編號(hào) ’ 字段的內(nèi)容來(lái)自動(dòng)排序與存儲(chǔ)。 ? 每個(gè)表可允許創(chuàng)建一個(gè)簇索引 ? 簇索引是如何工作的 —— 在簇索引中,數(shù)據(jù)存儲(chǔ)在 B樹(shù)的葉子層上。如果在數(shù)據(jù)頁(yè)上找不到查找值,則此查詢無(wú)行返回。 ? 每個(gè)表可多達(dá) 249個(gè)非簇索引。數(shù)據(jù)存儲(chǔ)以隨機(jī)順序出現(xiàn),擔(dān)邏輯順序按其索引給出。 當(dāng) SQL SERVER使用費(fèi)簇索引查找值時(shí),它執(zhí)行以下步驟: SERVER從 sysindexes表中獲得根頁(yè)的地址; ; ; ; 3和 4,直到找到數(shù)據(jù)頁(yè); ,在葉子頁(yè)上查找行。 ,指針進(jìn)到表中的數(shù)據(jù)頁(yè)和行 ID, 現(xiàn)在檢索請(qǐng)求的行。無(wú)論是簇索引還是非簇索引,都可以將其設(shè)為唯一索引。 ? 索引的特性 ? 索引加速了連接表的查詢、執(zhí)行排序和分組; ? 索引可用來(lái)實(shí)施行的唯一性; ? 索引對(duì)數(shù)據(jù)大多數(shù)是唯一的列很有用。 ? 一般情況下,非簇索引在外鍵上創(chuàng)建; ? 索引的創(chuàng)建 ? 語(yǔ)法 CREATE [UNIQUE][CLUSTERED|NONCLUSTERED] INDEX idxname ON table_name(column_name [ASC|DESC][,column_name ]… ) ? UNIQUE指明每一行應(yīng)包含不同值的索引; ? CLUSTERED指出了其數(shù)據(jù)在索引屬性上進(jìn)行排序的簇索引; ? NONCLUSTERED指明創(chuàng)建為非簇索引。 ? table_name(column_name)指出將要?jiǎng)?chuàng)建索引的表和列。 CREATE CLUSTERED INDEX idxitemno ON test1(itemno DESC) ? 例子:在表 test1上,要求索引表中的值按照 itemno列的值的降序排列原則,創(chuàng)建一個(gè)非聚集索引。例如,填充因子設(shè)為 80,則在創(chuàng)建索引時(shí),每個(gè)葉子節(jié)點(diǎn)索引頁(yè)中只使用 80%的空間用來(lái)存放索引數(shù)據(jù),剩下的 20%的空間用于以后新增加的索引數(shù)據(jù)。 通常來(lái)說(shuō),如果數(shù)據(jù)表中的數(shù)據(jù)很少變動(dòng),則將填充因子設(shè)得大一點(diǎn);反之,則可以將填充因子設(shè)得低一點(diǎn)。(可更新,但有限制) (回憶視圖更新章節(jié)內(nèi)容,對(duì)視圖的更新最終會(huì)轉(zhuǎn)化為對(duì)多個(gè)基本表的更新,且對(duì)于視圖的更新存在很多的限制。 ? 續(xù)上例,對(duì)連接視圖的更新語(yǔ)句轉(zhuǎn)化為一次只更新一個(gè)基本表,則前面的更新語(yǔ)句轉(zhuǎn)換為下面兩個(gè)語(yǔ)句: UPDATE vwEmployeeCandidate SET cPhone=‘(614)3245634’ WHERE cCanidateCode=‘000018’ UPDATE vwEmployeeCandidate SET siTestScore=75 WHERE cCanidateCode=‘000018’ ?SQL SERVER編程 術(shù)語(yǔ) ? 批量 ? 變量 ? 打印消息 ? 注解(注釋) ? 控制流語(yǔ)句 ? 批量 —— 批量是一起提交 SQL SERVER執(zhí)行的一組 SQL語(yǔ)句。 SQL SERVER把批量語(yǔ)句編譯成稱為執(zhí)行計(jì)劃的單個(gè)可執(zhí)行單位,然后一次執(zhí)行計(jì)劃中的一個(gè)語(yǔ)句。 ? 變量 —— 你可以使用變量存儲(chǔ)臨時(shí)值。由于是由用戶定義它們的,所以又叫做用戶定義的變量。 變量名 返回 version 當(dāng)前版本的日期、版本及其他信息 servername SQL SERVER服務(wù)器的名 spid 當(dāng)前進(jìn)程的服務(wù)器進(jìn)程 ID號(hào) error 如果最后事務(wù)成功返回 0,否則返回最后錯(cuò)誤號(hào) rowcount 受最后查詢影響的行數(shù),如果沒(méi)有行受影響為 0 trancount 某用戶當(dāng)前活動(dòng)的事務(wù)個(gè)數(shù) connections 服務(wù)啟動(dòng)以來(lái)連接的和企圖連接的數(shù)的總和 常用的全局變量 ? 打印消息 可以使用 PRINT或者 SELECT語(yǔ)句在屏幕上顯示用戶定義的消息或變量的內(nèi)容。 ? 例子:打印消息 ① DECLARE myname char(50) SET myname=‘Helen White’ PRINT myname ② SELECT ‘The number of rows is ’ +CONVERT(varchar,rowcount) ③ DECLARE var int SET var=2 SELECT var PRINT var ? 注解(注釋) 可以在批量中使用注釋來(lái)描述代碼的功能,幫助任何閱讀代碼的人理解代碼 。當(dāng)語(yǔ)句需要轉(zhuǎn)折或重復(fù)時(shí),就要使用控制流語(yǔ)句??刂屏髡Z(yǔ)句有: ? IF… ELSE ? CASE ? WHILE ? 例子:內(nèi)部候選人被召集參加面試的最低測(cè)試成績(jī)?yōu)?80分。 ? IF… ELSE語(yǔ)句 對(duì)于選擇性的執(zhí)行條件,可以使用 IF… ELSE語(yǔ)句。語(yǔ)法如下: BEGIN { sql_statement|statement_block } END ? 例子: 如果 Employee表中存在 一個(gè) vFirstname為 ‘ Angela’的雇員,則打印 ‘ The detail of the employee: ’ ,并且輸出該雇員的詳細(xì)信息。 IF(SELECT AVG(siPercentageCharge) FROM ContractRecruiter)20 BEGIN UPDATE ContractRecruiter SET siPercentageCharge=siPercentageCharge+5 END ELSE BEING UPDATE ContractRecruiter SET siPercentageCharge=siPercentageCharge+3 END ? 例子:內(nèi)部候選人被召集參加面試的最低測(cè)試成績(jī)?yōu)?80分。 DECLARE score int SELECT score=siTestScore FROM InternalCandidate WHERE cEmployeeCode=‘000008’ IF score80 PRINT ‘RejectedNot called for interview’ ELSE BEGIN PRINT ‘Called for interview’ PRINT ‘Test Score=’+convert(char(2),score) END ? WHILE語(yǔ)句 WHILE是循環(huán)語(yǔ)句。如果要在中途停止循環(huán)的話,可以使用 break或 continue語(yǔ)句。 DECLARE count int SELECT count=11 WHILE count0 BEGIN SELECT count=count1 IF count=4 BREAK IF count=6 CONTINUE PRINT count END 輸出結(jié)果: 10 9 8 7 5 ? 例子:計(jì)算 1到 100的累加和。在 IF語(yǔ)句中,如果判斷的條件很多,將會(huì)用到大量 IF的嵌套。 declare ssex varchar(20) declare output varchar(20) select ssex=sgender from student where sname=39。 select output= case ssex when 39。 then 39。 when 39。 then 39。 else 39。 end print 39。+output 簡(jiǎn)單 case語(yǔ)法例程 SELECT sno,sname,sage,’性別 ’ = case when sgender=‘男 ’ then ‘boy39。 end FROM Student 搜索 case語(yǔ)法例程 ? 例子:對(duì)于學(xué)生選修課程表成績(jī)分析,如果成績(jī)?cè)?90分以上,對(duì)應(yīng)的分析結(jié)果為 ‘ 優(yōu)秀’ ,成績(jī)?cè)?80~90分,分析結(jié)果為 ‘ 良好 ’ ,成績(jī)?cè)?70~80分,分析結(jié)果為 ‘ 中等 ’ ,成績(jī)?cè)?0~70分,分析結(jié)果為 ‘ 及格’ ,成績(jī)?cè)?60分以下,分析結(jié)果為 ‘ 不及格 ’ 。優(yōu)秀 39。良好 39。中等 39。及格 39。不及格 39。用戶可以通過(guò)存儲(chǔ)過(guò)程的名字并給出參數(shù)來(lái)執(zhí)行它。 ? :由于存儲(chǔ)過(guò)程是存在數(shù)據(jù)庫(kù)服務(wù)器上的一組 SQL語(yǔ)句,在客戶端調(diào)用時(shí),只需要使用一個(gè)存儲(chǔ)過(guò)程名及參數(shù)即可,那么在網(wǎng)絡(luò)上傳送的流量比傳送這一組完整的 SQL程序(代碼)要小得多,所以可以減少網(wǎng)絡(luò)流量,提高運(yùn)行速度。在存儲(chǔ)過(guò)程創(chuàng)建之后,也可以對(duì)存儲(chǔ)過(guò)程進(jìn)行修改,而且一次修改之后,所有調(diào)用該存儲(chǔ)過(guò)程的程序所得到的結(jié)果都會(huì)被修改,提高程序的可移植性??梢酝ㄟ^(guò)存儲(chǔ)過(guò)程作為存取通道,訪問(wèn)他們不具備訪問(wèn)權(quán)限的數(shù)據(jù)表。 ? :通常以 “ xp_”為前綴。 ? :用戶自行創(chuàng)建的存儲(chǔ)過(guò)程,可以輸入?yún)?shù)、向客戶端返回表格或結(jié)果、消息等,也可以返回輸出參數(shù)。 CREATE PROC ALTER PROC CREATE DEFAULT CREATE RULE CREATE FUNCTION ALTER FUNCTION CREATE TRIGGER ALTER TRIGGER CREATE VIEW ALTER VIEW …… ? 在 Recruitment數(shù)據(jù)庫(kù)中,經(jīng)常所作的查詢是:查詢招聘代理的名稱、地址、城市、郵政編碼、電話號(hào)碼和傳真號(hào)碼。 上例存儲(chǔ)過(guò)程的語(yǔ)句: CREATE PROC prcRecruitmentAgencies AS BEGIN PRINT ‘List of Recruitment Agencies:’ SELECT cName,vAddress,cCity,cZip,cPhone,cFax FROM RecruitmentAgencies END ? 查看存儲(chǔ)過(guò)程 : 語(yǔ)法: sp_helptext proc_name (加密后的對(duì)象無(wú)法查看其 statement) ? 執(zhí)行存儲(chǔ)過(guò)程: 語(yǔ)法: execute proc_name 或 exec proc_name 或 proc_name 帶輸入?yún)?shù)的存儲(chǔ)過(guò)程 ? 系統(tǒng)中經(jīng)常查詢合同招聘人員的信息。創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,可以根據(jù)指定的城市輸出合同招聘人員的信息。步驟: ? 識(shí)別參數(shù)的數(shù)據(jù)類型 ? 確定參數(shù)名(變量) ? 確定存儲(chǔ)過(guò)程的 SQL語(yǔ)句 ? 例 1: (不帶參數(shù)的加法 ) CREATE PROC prcSum1 AS PRINT ‘2+5的和是 ’ +convert(char(2),(2+5)) ? 例 2: (帶參數(shù)的加法 ) CREATE PROC prcSum2 x int,y int AS PRINT ‘x+y的和是 ’ +convert(char(2),(x+y)) 上例存儲(chǔ)過(guò)程的語(yǔ)句: CREATE PROC prcContractRecruiter city char(15) AS BEGIN PRINT ‘List of Contract Recruiters:’ SELECT cName,cCity,cZip,cPhone FROM ContractRecruiter WHERE cCity=city END 接下來(lái)的步驟: sp_helptext prcContractRecr
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1