亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

面試準備之SQL 6 —— 存儲過程

2019-11-03 08:34:21
字體:
來源:轉載
供稿:網友

1.什么是存儲過程?

存儲過程是一次編譯可多次運行(存儲過程存放在服務器中),預編譯好的集合,運行速度快。

 2.常用系統存儲過程

代碼
-- Purpose: 常用系統存儲過程使用

EXEC sp_databases  --列出當前系統中的數據庫

EXEC  sp_renamedb 'test','test1'--改變數據庫名稱(單用戶訪問)

USE stuDB
GO

EXEC sp_tables  --當前數據庫中查詢的對象的列表

EXEC sp_columns stuInfo  --返回某個表列的信息

EXEC sp_help stuInfo  --查看表stuInfo的信息

EXEC sp_helpconstraint stuInfo --查看表stuInfo的約束

EXEC sp_helpindex stuMarks  --查看表stuMarks的索引

EXEC sp_helptext 'view_stuInfo_stuMarks' --查看視圖的語句文本

EXEC sp_stored_PRocedures  --返回當前數據庫中的存儲過程列表
 

 

use master
go
exec xp_cmdshell 'mkdir D:/bank',no_output--創建文件夾
 

 3.自定義存儲過程

(1.)不帶參數的存儲過程

代碼
use studb
go
if exists(select * from sysobjects where name='proc_stu')
drop proc proc_stu
go

create procedure proc_stu
 AS
    DECLARE @writtenAvg float,@labAvg float --筆試和機試平均分變量
    SELECT @writtenAvg=AVG(writtenExam), @labAvg=AVG(labExam) FROM stuMarks
    print '筆試平均分:'+convert(varchar(5),@writtenAvg) 
    print '機試平均分:'+convert(varchar(5),@labAvg)
    IF (@writtenAvg>70 AND @labAvg>70)
       print '本班考試成績:優秀'
    ELSE
       print '本班考試成績:較差'
    print '--------------------------------------------------'
    print '           參加本次考試沒有通過的學員:'
    SELECT stuName,stuInfo.stuNo,writtenExam,labExam FROM  stuInfo
      INNER JOIN stuMarks ON stuInfo.stuNo=stuMarks.stuNo
         WHERE writtenExam<60 OR labExam<60
GO

exec proc_stu --執行存儲過程
(2.)帶輸入參數的存儲過程

代碼
USE stuDB
GO
/*---檢測是否存在:存儲過程存放在系統表sysobjects中---*/
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'proc_stu' )
  DROP PROCEDURE  proc_stu
GO
/*---創建存儲過程----*/
CREATE PROCEDURE proc_stu
  @writtenPass int,
  @labPass int-- 可以添加默認值 這樣 執行可以是這樣的 exec proc_stu 不用指定參數了
  AS
    print '筆試及格線:'+convert(varchar(5),@writtenPass)
    print '機試及格線:'+convert(varchar(5),@labPass)
    print '--------------------------------------------------'
    print '           參加本次考試沒有通過的學員:'
    SELECT stuName,stuInfo.stuNo,writtenExam,labExam FROM  stuInfo
      INNER JOIN stuMarks ON stuInfo.stuNo=stuMarks.stuNo
         WHERE writtenExam<@writtenPass OR labExam<@labPass
GO

exec proc_stu 60,55
exec proc_stu 60,@labPass=55
exec proc_stu @writtenPass=60,@labPass=55
exec proc_stu @writtenPass=60,55--這一行會報錯 :必須傳遞參數 2,并以 '@name = value' 的形式傳遞后續的參數。
--  一旦使用了 '@name = value' 形式之后,所有后續的參數就必須以 '@name = value' 的形式傳遞

 

(3.)帶輸出參數的存儲過程

代碼
USE stuDB
GO
/*---檢測是否存在:存儲過程存放在系統表sysobjects中---*/
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'proc_stu' )
  DROP PROCEDURE  proc_stu
GO
/*---創建存儲過程----*/
CREATE PROCEDURE proc_stu
  @notpassSum int OUTPUT, --OUTPUT關鍵字,否則視為輸入參數
  @writtenPass int=60,  --默認參數放后
  @labPass int=60       --默認參數放后
  AS
    print '筆試及格線:'+convert(varchar(5),@writtenPass)
       + '   機試及格線:'+convert(varchar(5),@labPass)
    print '--------------------------------------------------'
    print '           參加本次考試沒有通過的學員:'
    SELECT stuName,stuInfo.stuNo,writtenExam,labExam FROM  stuInfo
      INNER JOIN stuMarks ON stuInfo.stuNo=stuMarks.stuNo
         WHERE writtenExam<@writtenPass OR labExam<@labPass
    /*--統計并返回沒有通過考試的學員人數--*/
    SELECT @notpassSum=COUNT(stuNo)FROM stuMarks
      WHERE writtenExam<@writtenPass OR labExam<@labPass
   
GO

/*---調用存儲過程----*/
DECLARE @sum int
EXEC proc_stu @sum OUTPUT ,64   --機試及格線采用默認值:筆試及格線64分,機試及格線60分。
print '--------------------------------------------------'
IF @sum>=3
  print '未通過人數:'+convert(varchar(5),@sum)+ '人,超過60%,及格分數線還應下調'
ELSE
  print '未通過人數:'+convert(varchar(5),@sum)+ '人,已控制在60%以下,及格分數線適中'
GO


 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩欧美影视| 96sao精品视频在线观看| 91热福利电影| 国产精品视频地址| 久久影视电视剧免费网站| 日本高清+成人网在线观看| 久久久久国产一区二区三区| 黄色精品一区二区| 久久国产精品久久久久久| 疯狂做受xxxx高潮欧美日本| 一区二区三区四区在线观看视频| 92国产精品视频| 黄网站色欧美视频| 国产精品中文字幕久久久| 日韩av一区二区在线| 91精品国产自产在线观看永久| 国产午夜精品视频免费不卡69堂| 亚洲一区免费网站| 国产精品91久久久| 中文字幕欧美日韩va免费视频| 欧美性开放视频| 第一福利永久视频精品| 在线观看日韩www视频免费| 国产精品第一视频| 精品视频在线观看日韩| 国产精品尤物福利片在线观看| 欧美日韩国产页| 欧美在线国产精品| 热久久这里只有| 久久青草精品视频免费观看| 69av在线播放| 国产男女猛烈无遮挡91| 国产在线观看91精品一区| 2019亚洲日韩新视频| 亚洲精品自拍视频| 成人美女av在线直播| 欧美亚洲激情视频| 91精品国产综合久久久久久蜜臀| 91国产中文字幕| 91精品久久久久久久久久入口| 欧美精品九九久久| 久久久中精品2020中文| 亚洲**2019国产| 国产精品青青在线观看爽香蕉| 韩国19禁主播vip福利视频| 91精品国产高清久久久久久91| 久久五月天色综合| 国产欧美日韩专区发布| 久久免费国产视频| 成人免费高清完整版在线观看| 欧美贵妇videos办公室| 亚洲精品在线观看www| 在线观看视频99| 精品久久久久久久久久国产| 亚洲女人天堂网| 97在线视频免费| 国产自摸综合网| 欧美午夜丰满在线18影院| 久久久久久中文| 国产精品尤物福利片在线观看| 欧美成人三级视频网站| 国产自摸综合网| 日韩国产精品亚洲а∨天堂免| 国产视频自拍一区| 欧美另类高清videos| 国模私拍视频一区| 亚洲国产成人久久综合| 欧美色视频日本高清在线观看| 亚洲免费人成在线视频观看| 日韩小视频在线| 欧洲s码亚洲m码精品一区| 亚洲国产三级网| 国产精品av在线播放| 欧美性xxxxxxxxx| 成人av番号网| 成人免费看吃奶视频网站| 国内精品久久久| 中文字幕一精品亚洲无线一区| 亚洲色图国产精品| 美女av一区二区| 成人在线视频网| 26uuu亚洲伊人春色| 久久综合久中文字幕青草| 成人网在线免费观看| 欧美日韩美女在线观看| 亚洲黄页网在线观看| 欧美亚洲在线视频| 日韩黄色av网站| 国产精品日韩欧美综合| 亚洲free性xxxx护士白浆| 国产视频一区在线| 亚洲欧美日韩在线高清直播| 亚洲aⅴ男人的天堂在线观看| 国产精品视频一区二区三区四| 久久久中文字幕| 日本成人免费在线| 伊人久久五月天| 国产精品成人免费视频| 亚洲视频专区在线| 亚洲一品av免费观看| 久久69精品久久久久久久电影好| 日韩欧美国产高清91| 日韩视频免费看| 亚洲国产精久久久久久久| 中文字幕日韩在线观看| 永久免费毛片在线播放不卡| 亚洲毛片在线免费观看| 日韩激情视频在线播放| 欧美大片va欧美在线播放| 国产精品大片wwwwww| 国产成人+综合亚洲+天堂| 国产精品入口免费视| 欧美黑人一区二区三区| 欧美福利视频网站| 色视频www在线播放国产成人| 国产精品第一页在线| 91禁外国网站| 国产欧美精品一区二区三区-老狼| 成人中文字幕+乱码+中文字幕| 91精品视频免费观看| 亚洲japanese制服美女| 青青草精品毛片| 国产精品777| 久久久久久久爱| 日韩av免费看| 91免费版网站入口| 日本91av在线播放| 亚洲精品日韩丝袜精品| 欧美亚洲成人精品| 国产精品成人观看视频国产奇米| 91久久久久久国产精品| 欧美性猛交xxxx乱大交3| 国产福利精品av综合导导航| 亚洲影院高清在线| 日韩风俗一区 二区| 裸体女人亚洲精品一区| 国产精品久久久久免费a∨| 日韩免费观看网站| 国产精品视频不卡| 神马久久桃色视频| 国产精品久久久久影院日本| 亚洲精品一区在线观看香蕉| 91成人福利在线| 欧美性猛交99久久久久99按摩| 91久久久精品| 欧美电影免费观看高清完整| 精品国偷自产在线视频99| 成人精品福利视频| 亚洲国产91色在线| 精品国产91久久久久久| 亚洲免费影视第一页| 国产精品视频区1| 欧美日韩电影在线观看| 精品久久久国产精品999| 91免费精品国偷自产在线| 国产精品黄色影片导航在线观看| 亚洲国产97在线精品一区| 国产不卡在线观看| 国产精品爽黄69天堂a| 成人免费午夜电影| 久久精品美女视频网站| 久久视频免费在线播放| 亚洲人av在线影院| 国产精品91一区|