欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      sql 數(shù)據(jù)庫 實驗九:T-SQL語言、存儲過程及數(shù)據(jù)庫的安全性

      時間:2019-05-13 01:11:23下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《sql 數(shù)據(jù)庫 實驗九:T-SQL語言、存儲過程及數(shù)據(jù)庫的安全性》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《sql 數(shù)據(jù)庫 實驗九:T-SQL語言、存儲過程及數(shù)據(jù)庫的安全性》。

      第一篇:sql 數(shù)據(jù)庫 實驗九:T-SQL語言、存儲過程及數(shù)據(jù)庫的安全性

      實驗九:T-SQL語言、存儲過程及數(shù)據(jù)庫的安全性

      一、實驗?zāi)康?.掌握數(shù)據(jù)變量的使用;

      2.掌握各種控制語句及系統(tǒng)函數(shù)的使用;

      3.掌握存儲過程的實現(xiàn);

      4.掌握混合模式下數(shù)據(jù)庫用戶帳號的建立與取消方法;

      5.掌握數(shù)據(jù)庫用戶權(quán)限的設(shè)置方法;

      6.掌握在企業(yè)管理器中進(jìn)行備份、恢復(fù)操作的步驟;

      二、實驗學(xué)時

      2學(xué)時

      三、實驗要求

      1.了解T-SQL支持的各種基本數(shù)據(jù)類型及變量的使用;

      2.了解T-SQL各種運算符、控制語句及函數(shù)的功能及使用方法;

      3.掌握存儲過程的編寫和運行方法

      4.熟悉數(shù)據(jù)庫完全備份及恢復(fù)的方法;

      5.了解SQL Server 2008系統(tǒng)安全;

      6.熟悉數(shù)據(jù)庫用戶、服務(wù)器角色及數(shù)據(jù)庫角色的用法

      7.完成實驗報告。

      四、實驗內(nèi)容

      以student數(shù)據(jù)庫為基礎(chǔ)數(shù)據(jù),完成以下內(nèi)容

      1.變量及函數(shù)的使用:

      1)創(chuàng)建局部變量@xh(學(xué)號)并賦值,然后輸出數(shù)據(jù)表student中所有等于該值的學(xué)生的學(xué)號、姓名、性別、所屬院系及年齡等信息;

      2)將學(xué)號為200515008的學(xué)生的姓名賦值給變量@name;

      3)計算學(xué)生信息表student中學(xué)生最高年齡和最低年齡之差,并將結(jié)果付給@cz;

      4)定義一函數(shù),按系別統(tǒng)計當(dāng)前所有學(xué)生的平均年齡,并調(diào)用該函數(shù)。

      5)定義一函數(shù),通過姓名查詢某學(xué)生的學(xué)號、性別、年齡、系別、選修課程名及成績。

      2.編寫并執(zhí)行存儲過程

      (1)創(chuàng)建一個無參存儲過程pr_StuScore,查詢以下信息:班級、學(xué)號、姓名、性別、課程名稱、考試成績。

      (2)創(chuàng)建一個帶參數(shù)的存儲過程stu_info,該存儲過程根據(jù)傳入的學(xué)生編號在student表中查詢此學(xué)生的選修課程及成績信息。

      (3)創(chuàng)建一個帶參數(shù)的存儲過程StuScoreInfo2,該存儲過程根據(jù)傳入的學(xué)生

      編號和課程名稱查詢以下信息:班級、學(xué)號、姓名、性別、課程名稱、考試成績。

      (4)編寫帶參數(shù)的存儲過程,根據(jù)傳入的課程名稱統(tǒng)計該課程的平均成績。

      3.*對數(shù)據(jù)庫student進(jìn)行完全備份和恢復(fù)操作;

      4.*以系統(tǒng)管理員身份登錄到SQL Server服務(wù)器,在SQL Server2008界面中實現(xiàn)以下操作

      1)在當(dāng)前計算機(jī)中增加一個用戶zhang,密碼為secret。使此用戶通過windows

      模式下登錄SQL Server服務(wù)器,登錄名為zhang;

      2)新建以混合模式登錄SQL Server服務(wù)器的用戶登錄名分別為stu1、stu2和

      stu3,登錄密碼為secret,默認(rèn)登錄數(shù)據(jù)庫為student;

      3)在數(shù)據(jù)庫student中創(chuàng)建用戶zhang,登錄帳號為zhang;

      4)在數(shù)據(jù)庫student中創(chuàng)建用戶stu1、stu2和stu3,登錄帳號為stu1、stu2

      和stu3;

      5)給數(shù)據(jù)庫用戶zhang賦予創(chuàng)建數(shù)據(jù)表的權(quán)限;

      6)給數(shù)據(jù)庫用戶stu1賦予對sc表進(jìn)行插入、修改、刪除操作權(quán)限;

      7)給數(shù)據(jù)庫用戶stu2和stu3賦予對student表、course表所有操作權(quán)限及查

      詢sc的操作權(quán)限,并允許再授權(quán)給其他用戶;

      8)撤銷數(shù)據(jù)庫用戶stu2對student表和course表的刪除操作的權(quán)限;

      五、實驗步驟

      3.對數(shù)據(jù)庫student進(jìn)行完全備份和恢復(fù)操作;

      1)對數(shù)據(jù)庫student進(jìn)行完全備份操作;

      以管理員賬號登錄SQL Server并運行SQL Server資源管理器;以下方法任選其一

      方法1:利用資源管理器進(jìn)行備份

      (1)打開【對象資源管理器】,在【服務(wù)器對象】節(jié)點下找到【備份設(shè)備】節(jié)點,單擊鼠標(biāo)右鍵,彈出右鍵菜單,選擇【新建備份設(shè)備】菜單,彈出新建備份設(shè)備窗口。輸入備份設(shè)備邏輯名稱data_backup,并指定備份設(shè)備的物理路徑,例如“D:backupdata_full.bak”,單擊【確定】。

      (2)連接到相應(yīng)的SQL Server服務(wù)器實例之后,在【對象資源管理器】中,單擊服務(wù)器名稱以展開服務(wù)器樹。找到【數(shù)據(jù)庫】節(jié)點展開,選擇STUDENT

      數(shù)據(jù)庫,單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇【任務(wù)】—>【備份】命令。

      (3)在【備份數(shù)據(jù)庫】對話框中的【數(shù)據(jù)庫】下拉列表中選擇的數(shù)據(jù)庫名STUDENT。在【備份類型】下拉列表中選擇備份類型為“完整”,在【名稱】文本框中輸入備份集的名稱STUDENT_BAK,在【備份集過期時間】選項中指定備份集過期時間為30天,在“選擇頁”窗格中,單擊【選項】,在【可靠性】選項中選擇“完成后驗證備份”選項,最后單擊【確定】按鈕。

      方法2:用T-SQL語句進(jìn)行數(shù)據(jù)庫完全備份

      使用邏輯名STUDENTBAK創(chuàng)建一個命名的備份設(shè)備,并將數(shù)據(jù)庫STUDENT完全備份到該設(shè)備。在查詢分析器的窗口輸入如下的語句并執(zhí)行:

      USE master

      EXEC sp_addumpdevice ‘disk’,’ STUDENTBAK’,’D:backup STUDENTBAK.BAK’

      BackUp DataBase STUDENT To STUDENTBAK

      2)在資源管理器中進(jìn)行數(shù)據(jù)庫恢復(fù);

      (1)展開【數(shù)據(jù)庫】節(jié)點,用鼠標(biāo)右鍵單擊STUDENT,在彈出的快捷菜單中選擇【屬性】命令。打開“數(shù)據(jù)庫屬性”對話框,在“選擇頁”列表中,單擊“選項”。在“恢復(fù)模式”下拉列表中選擇【完整】恢復(fù)模式。

      (2)用鼠標(biāo)右鍵單擊STUDENT,在彈出的快捷菜單中選擇【任務(wù)】—>【還原】—>【數(shù)據(jù)庫】命令。打開“還原數(shù)據(jù)庫”對話框。在“常規(guī)”選項卡上,“目標(biāo)數(shù)據(jù)庫”下拉列表框中選擇STUDENT。在“目標(biāo)時間點”文本框中,使用默認(rèn)值“最近狀態(tài)”。在“選擇用于還原的備份集”表格中,選擇用于還原的備份,單擊“確定”按鈕。

      4.*以系統(tǒng)管理員身份登錄到SQL Server服務(wù)器,在SQL Server2008界面中實現(xiàn)以下操作

      1)在當(dāng)前計算機(jī)中增加一個用戶zhang,密碼為secret。使此用戶通過windows

      模式下登錄SQL Server服務(wù)器,登錄名為zhang; 在計算機(jī)中增加用戶的方法如下:單擊【開始|管理工具】,選擇【計算機(jī)管理】,在【計算機(jī)管理】的窗口中單擊左邊的【本地用戶和組】,在右側(cè)【用戶】文件夾上單擊右鍵,選擇菜單上的【新用戶】,然后在彈出的【新用戶】對話框中鍵入您準(zhǔn)備使用的用戶名、密碼,然后清除【用戶下次登錄時須更改密碼】復(fù)選框的選中狀態(tài),再單擊【創(chuàng)建】按鈕,然后單擊【關(guān)閉】按鈕關(guān)閉對話框。

      創(chuàng)建windows身份驗證登陸用戶方法:在【對象資源管理器】中,展開【安全性】節(jié)點,然后右鍵單擊【登錄名】,在彈出的快捷菜單中選擇【新建登錄名】。在“登錄名-新建”對話框中單擊【登錄名】后面的搜索按鈕,選擇

      【高級】,在彈出的對話框中選擇【立即查找】,在搜索結(jié)果中選擇已經(jīng)建立的用戶名,單擊【確定】按鈕,回到“登錄名-新建”對話框中,最后單擊確定按鈕完成創(chuàng)建。

      2)新建以混合模式登錄SQL Server服務(wù)器的用戶登錄名分別為stu1、stu2和

      stu3,登錄密碼為secret,默認(rèn)登錄數(shù)據(jù)庫為student;

      創(chuàng)建SQL Server身份驗證登陸用戶方法:在【對象資源管理器】中,展開

      【安全性】節(jié)點,然后右鍵單擊【登錄名】,在彈出的快捷菜單中選擇【新建登錄名】。在“登錄名-新建”對話框中選擇SQL Server身份驗證選項,在【登錄名】后面輸入用戶名,在密碼及確認(rèn)密碼后面輸入密碼。取消【強(qiáng)制密碼過期】選項,單擊【確定】按鈕。

      3)在數(shù)據(jù)庫student中創(chuàng)建用戶zhang,登錄帳號為zhang;

      在【對象資源管理器】中展開student數(shù)據(jù)庫節(jié)點,展開【安全性】節(jié)點,在用戶上單擊鼠標(biāo)右鍵選擇【新建用戶】命令,在彈出的新建對話框中單擊

      【登陸名】后面的搜索按鈕,在彈出的【選擇登錄名】對話框中單擊【瀏覽】按鈕,在相應(yīng)的賬號前面選中并單擊【確定】按鈕,最后在用戶名后面輸入用戶名稱,單擊【確定】按鈕完成創(chuàng)建。

      CREATEUSERzhang for login zhang

      4)在數(shù)據(jù)庫student中創(chuàng)建用戶stu1、stu2和stu3,登錄帳號為stu1、stu2

      和stu3;

      CREATEUSERstu1 for login stu1

      5)給數(shù)據(jù)庫用戶zhang賦予創(chuàng)建數(shù)據(jù)表的權(quán)限;

      在student數(shù)據(jù)庫安全性節(jié)點下的用戶名上單擊鼠標(biāo)右鍵,選擇【屬性】,在打開的對話框中選擇【安全對象】頁,單擊右邊的【搜索】按鈕,在彈出的【添加對象】對話框中直接單擊【確定】按鈕,然后單擊【對象類型】按鈕,彈出【選擇對象類型】對話框,選中【數(shù)據(jù)庫】,單擊【確定】按鈕。再在選擇對象對話框中單擊【瀏覽】,在student數(shù)據(jù)庫前面選中,單擊【確定】。最后在【安全對象】頁下方的student的權(quán)限中創(chuàng)建表選項后的【授予】復(fù)選框中選中,單擊【確定】完成設(shè)置。

      GRANTcreatetabletozhang

      6)給數(shù)據(jù)庫用戶stu1賦予對sc表進(jìn)行插入、修改、刪除操作權(quán)限;

      GRANT insert,update,delete ONsc to stu

      17)給數(shù)據(jù)庫用戶stu2和stu3賦予對student表、course表所有操作權(quán)限及查

      詢sc的操作權(quán)限,并允許再授權(quán)給其他用戶;

      GRANTALL PRIVILEGESONStudent,CourseTOstu2,stu3

      WITH GRANT OPTION

      8)撤銷數(shù)據(jù)庫用戶stu2對student表和course表的刪除操作的權(quán)限;

      RevokedeleteON Student,CourseFROM stu2 CASCADE

      第二篇:數(shù)據(jù)庫sql語言總結(jié)

      插入句型:

      insertinto<表名> [各屬性名]values(<常量1>,<常量2>……)

      刪除元組或者二維表:

      delete from<表名>[ where <條件> ]

      刪除屬性:

      altertable<表名>dropcolumn<列名>

      增加某表的屬性:

      altertable<表名>add<列名> 類型

      修改句型:

      update<表名>set<列名> =<表達(dá)式>[where<條件>]

      修改某表當(dāng)中的屬性類型:

      altertable<表名>altercolumn<列名><轉(zhuǎn)換的類型>;

      顯示表的一些基本情況

      EXEC sp_help'<表名>'

      更改當(dāng)前數(shù)據(jù)庫中用戶創(chuàng)建對象(如表、列或用戶定義數(shù)據(jù)類型)的名稱 sp_rename ‘<舊的表名>’, ‘<新的表名>’

      修改表的列名 sp_rename'<表名>.', 'newname ', 'COLUMN '

      小注:上面的語句最后不需要加分號

      判斷表中是否存在某列的語句

      if exists(select * from syscolumns where id = object_id('stu')and name='Sno')

      print 'stu exists'

      else print 'stu not exists'

      將表中的某列設(shè)置為主碼:

      alter table stu addSno char primary key;

      判斷表是否存在if exists(select count(*)from sysobjects where type='U' and name='stu')

      查詢某個表中字段的列名和數(shù)據(jù)類型

      select column_name,data_type from information_schema.columns where table_name = '表名';

      第三篇:數(shù)據(jù)庫實驗報告 SQL語言

      數(shù)據(jù)庫原理及實驗報告

      實驗6 視圖

      實驗?zāi)康模?)掌握交互式創(chuàng)建、刪除視圖的方法

      2)掌握使用SQL創(chuàng)建、刪除視圖的方法

      3)掌握交互式更新視圖的方法

      4)掌握使用SQL更新視圖的方法 實驗內(nèi)容

      6.1實驗題目:創(chuàng)建視圖

      實驗過程:1)交互式創(chuàng)建視圖VIEW_S

      2)交互式創(chuàng)建成績視圖VIEW_SCORETABLE

      3)使用SQL創(chuàng)建課程表視圖VIEW_CTABLE

      實驗結(jié)果:

      6.2實驗題目:修改視圖

      實驗過程:1)使用交互式方法把視圖VIEW_S中的字段SNO刪掉

      2)使用SQL為視圖VIEW_CTABLE增加一個課時字段CT tiny int

      實驗結(jié)果:

      6.3實驗題目:通過視圖修改數(shù)據(jù)庫數(shù)據(jù)

      實驗過程:1)交互式通過修改視圖VIEW_S中的數(shù)據(jù)來實現(xiàn)對其基本表S中數(shù)據(jù)的修改

      2)對視圖VIEW_S執(zhí)行INSERT語句,查看此視圖的基本表S中數(shù)據(jù)的變化

      3)修改視圖VIEW_S的定義,使其包含表S中的主鍵,再執(zhí)行插入操作

      4)用SQL語句對視圖VIEW_S執(zhí)行DELETE操作,查看此視圖的基本表S中數(shù)據(jù)的變化 實驗結(jié)果:

      6.4實驗題目:刪除視圖

      實驗過程:1)交互式刪除視圖VIEW_S

      2)使用SQL刪除視圖VIEW_CTABLE

      實驗結(jié)果:

      實驗7 數(shù)據(jù)查詢

      實驗?zāi)康模?,掌握從簡單到復(fù)雜的各種數(shù)據(jù)查詢。包括,單表查詢、多表連接查詢、嵌套查詢、集合查詢。

      2,掌握用條件表達(dá)式表示檢索結(jié)果。

      3,掌握用聚合函數(shù)計算統(tǒng)計檢索結(jié)果。實驗7.1 單表查詢

      實驗?zāi)康模?,掌握指定列或全部列查詢。

      2,掌握按條件查詢。

      3,掌握對查詢結(jié)果排序。

      4,掌握使用聚集函數(shù)的查詢。

      5,掌握分組統(tǒng)計查詢。實驗內(nèi)容:1,指定或全部列查詢。

      2,按條件查詢及模糊查詢。

      3,對查詢結(jié)果排序。

      4,使用聚集函數(shù)的查詢。

      5,分組統(tǒng)計查詢。

      實驗7.2 連接查詢 實驗?zāi)康模赫莆赵O(shè)計一個以上數(shù)據(jù)表的查詢方法。多表之間的連接包括等值連接、自然連接、非等值連接、自身連接、自身連接、外連接和復(fù)合連接。

      實驗內(nèi)容:1,連接查詢,查詢所有選課學(xué)生的學(xué)號、姓名、選課名稱及成績。

      查詢每門課程的課程號、任課教師姓名及其選課人數(shù)。

      2,自身連接,查詢所有比劉偉工資高的的教師的姓名、工資及劉偉的工資。

      查詢同時選修了程序設(shè)計和微機(jī)原理的學(xué)生的姓名、課程號。

      3,外連接,查詢所有學(xué)生的學(xué)號、姓名、選課名稱及成績(沒有選課的學(xué)生的選課信息顯示為空)

      實驗結(jié)果

      實驗7.3 嵌套查詢

      實驗?zāi)康模赫莆涨短撞樵兪刮覀兛梢杂枚鄠€簡單查詢構(gòu)成復(fù)雜的查詢。從而增強(qiáng)了SQL的查詢能力。

      實驗內(nèi)容:1,返回一個值的子查詢,查詢與劉偉教師職稱相同的教師號、姓名和職稱。

      2,返回一組值的子查詢,使用ANY謂詞查詢講授課程號為C5的教師姓名。使用IN謂詞查詢講授課程號為C5的教師姓名。使用ALL謂詞查詢其他系中比計算機(jī)系所有教師工資都高的教師的姓名、工資、使用EXISTS謂詞查詢沒有講授課程號為C5的課程的教師姓名、所在系.使用NOT EXISTS謂詞查詢至少選修了學(xué)生S2選修的全部課程的學(xué)生的學(xué)號。實驗結(jié)果

      實驗7.4 集合查詢

      實驗?zāi)康模赫莆帐褂肬NION操作符將來自不同查詢但結(jié)構(gòu)相同的數(shù)據(jù)集合組合起來,形成一個具有綜合信息的查詢結(jié)果。

      實驗內(nèi)容:查詢年齡不大于19歲或者屬于計算機(jī)系的學(xué)生,步驟如下:打開新建查詢窗口,創(chuàng)建SQL語句。執(zhí)行語句。

      實驗結(jié)果

      實驗十.T-SQL程序設(shè)計與游標(biāo)設(shè)計

      實驗?zāi)康?/p>

      掌握Transact-SQL語言及其程序設(shè)計的方法 掌握T-SQL游標(biāo)的使用方法

      實驗10.1 T-SQL程序設(shè)計邏輯 實驗?zāi)康?/p>

      掌握T-SQL程序設(shè)計的控制結(jié)構(gòu)及程序設(shè)計邏輯 實驗內(nèi)容

      (1)計算1~100之間所有能被3整除的數(shù)的個數(shù)和總和。

      (2)從學(xué)生表S中選取SNO,SN,SEX,如果為“男”則輸出M,如果為“女”則輸出F。實驗 10.2 面向復(fù)雜T-SQL程序設(shè)計 實驗?zāi)康?/p>

      掌握面向復(fù)雜應(yīng)用的T-SQL程序設(shè)計方法。實驗內(nèi)容

      (1)從教學(xué)數(shù)據(jù)庫jxsk中查詢所有同學(xué)選課成績情況:姓名,課程名,成績。要求:凡成績?yōu)榭照咻敵觥拔纯肌保恍∮?0分的輸出“不及格”;60~70分的輸出“及格”;70~80分的輸出“中”;80~90分輸出“良好”;90~100分輸出優(yōu)秀。并且輸出記錄按照下面要求排序:先按SNO升序,再按CNO升序,最后按成績降序。

      (2)現(xiàn)給教師增加工資。要求:必須任兩門以上課程且漲幅按總收入分成三個級別:4000元以上漲300;3000元以上漲200;3000元以上漲100。只任一門課程的漲50.其他情況不漲。

      實驗 10.2 使用游標(biāo) 實驗?zāi)康?/p>

      學(xué)習(xí)和理解關(guān)系數(shù)據(jù)中游標(biāo)的概念和設(shè)計思想。掌握使用T-SQL游標(biāo)處理結(jié)果集的方法。實驗內(nèi)容

      針對數(shù)據(jù)庫jiaoxuedb,進(jìn)行下面的實驗:

      (1).定義一個游標(biāo)Cursor_Famale。要求該游標(biāo)返回所有女同學(xué)的基本信息,在游標(biāo)中查找并顯示牛莉的記錄。(2).創(chuàng)建一個一個儲存過程Pro_C,返回一個包含所有選修數(shù)據(jù)庫課程的學(xué)生基本信息的游標(biāo)。利用該存儲過程,通過學(xué)生姓名查找學(xué)生王一山是否選修了數(shù)據(jù)庫課程以及成績。

      第四篇:教學(xué):數(shù)據(jù)庫-存儲過程資料

      教學(xué)三:存儲過程

      一、教學(xué)目的

      (1)掌握T-SQL流控制語句;(2)掌握創(chuàng)建存儲過程的方法;(3)掌握存儲過程的執(zhí)行方法;(4)掌握存儲過程的管理和維護(hù)。

      二、教學(xué)內(nèi)容

      1、創(chuàng)建簡單存儲過程

      (1)創(chuàng)建一個名為stu_pr的存儲過程,該存儲過程能查詢出051班學(xué)生的所有資料,包括學(xué)生的基本信息、學(xué)生的選課信息(含未選課同學(xué)的信息)。要求在創(chuàng)建存儲過程前請判斷該存儲過程是否已創(chuàng)建,若已創(chuàng)建則先刪除,并給出“已刪除!”信息,否則就給出“不存在,可創(chuàng)建!”的信息。

      if exists(select name from sysobjects where name='stu_pr'and type='p')begin print '已刪除!' drop procedure stu_pr end else print '不存在,可創(chuàng)建!' go create procedure stu_pr as select * from Student_20103322 left outer join SC_20103322

      on(Student_20103322.Sno=SC_20103322.Sno)left outer join Course_20103322 on(Course_20103322.Cno=SC_20103322.Cno)where classno='051' 1

      exec stu_pr

      2、創(chuàng)建帶參數(shù)的存儲過程

      (1)創(chuàng)建一個名為stu_proc1的存儲過程,查詢某系、某姓名的學(xué)生的學(xué)號、姓名、年齡,選修課程名、成績。系名和姓名在調(diào)用該存儲過程時輸入,其默認(rèn)值分別為“%”與“林%”。執(zhí)行該存儲過程,用多種參數(shù)加以測試。

      if exists(select name from sysobjects where name='stu_proc1' and type='p')begin

      print '已刪除!' drop procedure stu_proc1 end else

      print '不存在,可創(chuàng)建!' go create procedure stu_proc1 @Sdept char(8)='%',@Sname varchar(8)='林%' as select Sdept,Student_20103322.Sno,Sname,DATEDIFF(YEAR,Birth,GETDATE())age,Cname,Grade from Student_20103322,SC_20103322,Course_20103322 where Student_20103322.Sno=SC_20103322.Sno and Course_20103322.Cno=SC_20103322.Cno and Sdept like @Sdept and Sname like @Sname

      execute stu_proc1 '計算機(jī)系','林紅' 3

      execute stu_proc1 '信息安全','胡光璟'

      (2)創(chuàng)建一個名為Student_sc的存儲過程,可查詢出某段學(xué)號的同學(xué)的學(xué)號、姓名、總成績。(學(xué)號起始號與終止號在調(diào)用時輸入,可設(shè)默認(rèn)值)。執(zhí)行該存儲過程。if exists(select name from sysobjects where name='Student_sc'and type='p')begin print '已刪除!' drop procedure student_sc end else print '不存在,可創(chuàng)建!' go create procedure Student_sc @Sno1 char(8),@Sno2 char(8)as select Student_20103322.Sno,Sname,SUM(Grade)總成績 from Student_20103322,SC_20103322,Course_20103322 where Student_20103322.Sno=SC_20103322.Sno and Course_20103322.Cno=SC_20103322.Cno and Student_20103322.Sno>=@Sno1 and Student_20103322.Sno<=@Sno2 group by Student_20103322.Sno,Sname

      execute Student_sc '20110000','20110003' 5

      3、創(chuàng)建帶輸出參數(shù)的存儲過程

      (1)創(chuàng)建一個名為Course_sum的存儲過程,可查詢某門課程考試的總成績。總成績可以輸出,以便進(jìn)一步調(diào)用。

      if exists(select name from sysobjects where name='Course_sum'and type='p')begin print '已刪除!' drop procedure Course_sum end else print '不存在,可創(chuàng)建!' go create procedure Course_sum @Cname varchar(20),@sum int output as select @sum=sum(Grade)from SC_20103322,Course_20103322 where Course_20103322.Cno=SC_20103322.Cno and Cname=@Cname

      group by SC_20103322.Cno,Cname

      declare @ping int exec Course_sum '高數(shù)',@ping output print '高數(shù)的考試總成績?yōu)椋?+cast(@ping as varchar(20))

      (2)創(chuàng)建一執(zhí)行該存儲過程的批處理,要求當(dāng)總成績小于100時,顯示信息為:“XX課程的總成績?yōu)椋篨X,其總分未達(dá)100分”。超過100時,顯示信息為:“XX課程的總成績?yōu)椋篨X”。

      declare @sum int

      declare @Cname varchar(20)Exec Course_sum @cname,@sum out begin

      if @sum <100 print cast(@cname as varchar)+'課程的總成績?yōu)?'+cast(@sum as varchar)+ ',其總分未達(dá)分'

      else

      print cast(@cname as varchar)+'課程的總成績?yōu)?'+cast(@sum as varchar)end

      declare @sum int

      declare @Cname varchar(20)set @Cname='高數(shù)' Exec Course_sum @cname,@sum out begin

      if @sum <100 print cast(@cname as varchar)+'課程的總成績?yōu)?'+cast(@sum as varchar)+ ',其總分未達(dá)分'

      else

      print cast(@cname as varchar)+'課程的總成績?yōu)?'+cast(@sum as varchar)end

      4、創(chuàng)建帶重編譯及加密選項的存儲過程

      創(chuàng)建一個名為update_sc、并帶重編譯及加密選項的存儲過程,可更新指定學(xué)號、指定課程號的學(xué)生的課程成績。(學(xué)號、課程號由調(diào)用時輸入)

      if exists(select name from sysobjects where name='update_sc'and type='p')begin print '已刪除!' drop procedure update_sc end else print '不存在,可創(chuàng)建!' go create procedure update_sc

      @sno char(8),@cno char(3),@grade tinyint with RECOMPILE , ENCRYPTION as update SC_20103322 set Grade=@grade

      where Sno=@sno and Cno=@cno

      declare @sno char(8),@cno char(3),@grade tinyint set @sno='20103322' set @cno='003' set @grade='100' exec update_sc @sno,@cno,@grade begin print cast(@sno as varchar)+'的'+cast(@cno as varchar)+'課程成績?yōu)椋?+cast(@grade as varchar)end

      5、使用T-SQL語句管理和維護(hù)存儲過程

      (1)使用sp_helptext查看存儲過程Student_sc的定義腳本

      exec sp_helptext student_sc

      (2)使用select語句查看Student_sc存儲過程的定義腳本(提示:通過查詢表sysobjects和表syscomments)

      select *

      from sysobjects,syscomments where name = 'Student_sc'

      (3)將存儲過程stu_pr改為查詢學(xué)號為2011001的學(xué)生的詳細(xì)資料。

      alter procedure stu_pr as select * from Student_20103322 left outer join SC_20103322 on(Student_20103322.Sno=SC_20103322.Sno)left outer join Course_20103322 on(Course_20103322.Cno=SC_20103322.Cno)where Student_20103322.Sno='2011001'

      (4)刪除存儲過程stu_pr。

      drop procedure stu_pr

      6、使用SQL Server Management Studio管理存儲過程

      (1)在SQL Server Management Studio中重新創(chuàng)建剛刪除的存儲過程stu_pr create procedure stu_pr as begin select * from Student_20103322 left outer join SC_20103322 on(Student_20103322.Sno=SC_20103322.Sno)left outer join Course_20103322 on(Course_20103322.Cno=SC_20103322.Cno)where Student_20103322.Sno='2011001' end

      (2)查看存儲過程stu_pr,并將該過程修改為查詢051班女生的所有資料。

      ALTER procedure [dbo].[stu_pr] as begin select * from Student_20103322 left outer join SC_20103322 on(Student_20103322.Sno=SC_20103322.Sno)left outer join Course_20103322 on(Course_20103322.Cno=SC_20103322.Cno)where Student_20103322.Sno='2011001' and Sex='女' end

      (3)刪除存儲過程stu_pr

      【完】

      第五篇:SQL數(shù)據(jù)庫實驗報告 實驗二

      實驗2SQL Server數(shù)據(jù)庫的管理

      1.實驗?zāi)康模?)了解SQL Server 數(shù)據(jù)庫的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)的特點。

      (2)掌握使用SQL Server管理平臺對數(shù)據(jù)庫進(jìn)行管理的方法。

      (3)掌握使用Transact-SQL語句對數(shù)據(jù)庫進(jìn)行管理的方法。

      2.實驗內(nèi)容及步驟

      (1)在SQL Server管理平臺中創(chuàng)建數(shù)據(jù)庫。

      ① 運行SQL Server管理平臺,在管理平臺的對象資源管理器中展開服務(wù)器。

      ② 右擊“數(shù)據(jù)庫”項,在快捷菜單中選擇“新建數(shù)據(jù)庫”菜單項。在新建數(shù)據(jù)庫對話框的數(shù)據(jù)庫名稱文本框中輸入學(xué)生管理數(shù)據(jù)庫名studentsdb,單擊“確定”按鈕。

      (2)選擇studentsdb數(shù)據(jù)庫,在其快捷菜單中選擇“屬性”菜單項,查看“常規(guī)”、“文件”、“文件組”、“選項”、“權(quán)限”和“擴(kuò)展屬性”等頁面。

      (3)打開studentsdb數(shù)據(jù)庫的“屬性”對話框,在“文件”選項卡中的數(shù)據(jù)庫文件列表中修改studentsdb數(shù)據(jù)文件的“分配的空間”大小為2MB。指定“最大文件大小”為5MB。修改studentsdb數(shù)據(jù)庫的日志文件的大小在每次填滿時自動遞增5%。

      (4)單擊“新建查詢”打開查詢設(shè)計器窗口,在查詢設(shè)計器窗口中使用Transact-SQL語句CREATE DATABASE創(chuàng)建studb數(shù)據(jù)庫。然后通過系統(tǒng)存儲過程sp_helpdb查看系統(tǒng)中的數(shù)據(jù)庫信息。

      (5)在查詢設(shè)計器中使用Transact-SQL語句ALTER DATABASE修改studb數(shù)據(jù)庫的設(shè)置,指定數(shù)據(jù)文件大小為5MB,最大文件大小為20MB,自動遞增大小為1MB。

      (6)在查詢設(shè)計器中為studb數(shù)據(jù)庫增加一個日志文件,命名為studb_Log2,大小為5MB,最大文件大小為10MB。

      (7)使用SQL Server管理平臺將studb數(shù)據(jù)庫的名稱更改為student_db。

      (8)使用Transact-SQL語句DROP DATABASE刪除student_db數(shù)據(jù)庫。

      3.實驗思考

      (1)數(shù)據(jù)庫中的日志文件是否屬于某個文件組?

      (2)數(shù)據(jù)庫中的主數(shù)據(jù)文件一定屬于主文件組嗎?

      (3)數(shù)據(jù)文件和日志文件可以在同一個文件組嗎?為什么?

      (4)刪除了數(shù)據(jù)庫,其數(shù)據(jù)文件和日志文件是否已經(jīng)刪除?是否任何人都可以刪除數(shù)據(jù)庫?

      (5)能夠刪除系統(tǒng)數(shù)據(jù)庫嗎?

      下載sql 數(shù)據(jù)庫 實驗九:T-SQL語言、存儲過程及數(shù)據(jù)庫的安全性word格式文檔
      下載sql 數(shù)據(jù)庫 實驗九:T-SQL語言、存儲過程及數(shù)據(jù)庫的安全性.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        實驗三 數(shù)據(jù)庫安全性實驗報告

        一 實驗?zāi)康?1. 熟悉通過SQL語句對數(shù)據(jù)進(jìn)行安全性控制; 2. 針對具體應(yīng)用要求,完成授權(quán)和收回權(quán)限的操作;二 實驗工具SQL Server 2005 利用SQL Server 2005 SSMS及其SQL查詢編輯......

        網(wǎng)絡(luò)數(shù)據(jù)庫講稿(存儲過程)5篇

        網(wǎng)絡(luò)數(shù)據(jù)庫講稿4/15/2013 存儲過程P177 一、什么是存儲過程 1.是一個過程,與其它語言中的過程幾乎完全相同。它們可以接收參數(shù)、輸出參數(shù)、返回單個或多個結(jié)果集以及返回值。......

        SQL Server數(shù)據(jù)庫試題九及答案

        一、選擇題(每題2分,共30分) 1、下面不屬于數(shù)據(jù)定義功能的SQL語句是:( ) A.CREAT TABLE B.CREAT CURSOR C.UPDATE D.ALTER TABLE 2、SQL數(shù)據(jù)庫中的視圖與下列哪項是對應(yīng)的( )。 A.......

        SQL Server數(shù)據(jù)庫試題九及答案

        SQL Server數(shù)據(jù)庫試題九及答案 一、選擇題(每題2分,共30分) 1、下面不屬于數(shù)據(jù)定義功能的SQL語句是:( ) A.CREAT TABLE B.CREAT CURSOR C.UPDATE D.ALTER TABLE 2、SQL數(shù)據(jù)庫......

        5、VFP數(shù)據(jù)庫的操作及SQL語言的應(yīng)用

        數(shù)據(jù)庫技術(shù)及應(yīng)用 第五章 VFP數(shù)據(jù)庫的操作 班級:姓名:學(xué)號:成績:一、選擇題 1. 1.命令SELECT 0 的功能是__A____。A、選擇區(qū)號最小的空閑工作區(qū)B、選擇區(qū)號最大的空閑工作區(qū) C、選......

        實驗四使用SQL語句修改SQL Server 數(shù)據(jù)庫

        實驗四使用SQL語句修改SQL Server數(shù)據(jù)庫 1、實驗?zāi)康模?(1) 了解SQL Server數(shù)據(jù)庫的邏輯結(jié)構(gòu)和物理結(jié)構(gòu); (2) 掌握使用SQL語句修改數(shù)據(jù)庫的方法; 2、實驗準(zhǔn)備: (1)要明確能夠修改數(shù)據(jù)庫......

        黑馬程序員c語言教程:查看數(shù)據(jù)庫的SQL,oracle用戶管理,五篇范文

        查看數(shù)據(jù)庫的SQL 1、查看表空間的名稱及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.......