亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 實例16(自定義函數).sql

?? 經典的sql資料
?? SQL
字號:

-- 上課內容:第五單元 Transact-SQL語言(用戶自定義函數)

-- 5.4 用戶自定義函數

 -- 5.4.1 用戶自定義函數的概念

  -- 函數是由一個或多個 Transact-SQL 語句組成的子程序,可用于封裝代碼以便重新使用

  -- 允許用戶創建自己的用戶定義函數

  -- 用戶自定義函數中可以包含0個或多個參數,函數的返回值可以是數值,也可以是一個表



 -- 5.4.2 用戶自定義函數的分類

  -- 標量值函數

    -- 標量函數返回在 RETURNS 子句中定義的類型的單個數據值


  -- 內嵌表值函數

    -- 表值函數返回 table

    -- 沒有函數主體;表是單個 SELECT 語句的結果集


  -- 多語句表值函數

    -- 表值函數返回 table

    -- 在 BEGIN...END 塊中定義的函數主體包含 TRANSACT-SQL 語句,這些語句可生成行并將行插入將返回的表中


  -- 準備工作

create table gamer(g_id int,g_name varchar(10),g_gender char(2),g_jf int,g_dept int)

insert into gamer values(1,'aaa1','男',200,1)
insert into gamer values(2,'aaa2','男',800,2)
insert into gamer values(3,'aaa3','男',2000,3)
insert into gamer values(4,'aaa4','男',1200,1)
insert into gamer values(5,'aaa5','男',5600,2)
insert into gamer values(6,'aaa6','女',8700,3)
insert into gamer values(7,'aaa7','女',1000,1)

select * from gamer
sp_help gamer

  -- 5.4.2.1 標量值函數

  -- 例:編寫用戶定義函數。要求根據用戶姓名查找出用戶的工資。并調用函數查看結果。 

   --  編寫用戶定義函數

CREATE FUNCTION dbo.FN_jf(@g_name varchar(10))

RETURNS int

AS

  BEGIN

    DECLARE @jf int

    SET @jf=(SELECT g_jf FROM gamer WHERE g_name=@g_name)

    RETURN @jf

  END

   -- 通過該函數,查找姓名為aaa2的用戶的積分


SELECT dbo.FN_jf('aaa2') AS '該用戶的積分'



  -- 5.4.2.2 內嵌表值函數

  -- 例:編寫用戶定義函數。要求根據用戶姓名得到該用戶的用戶名稱和積分。并調用函數查看結果

   -- 編寫用戶定義函數 

CREATE FUNCTION dbo.FN_search_gamer(@g_name varchar(10)) 

RETURNS TABLE 

AS 

  RETURN (SELECT g_name,g_jf FROM  gamer WHERE g_name=@g_name) 


   -- 執行該用戶定義函數 

    --查找名稱為aaa2的用戶的信息的程序為:

SELECT * from dbo.FN_search_gamer('aaa2')


    --查找名稱為aaa3的用戶的信息的程序為:

SELECT * from dbo.FN_search_gamer('aaa3')


  -- 5.4.2.3 多語句表值函數

   -- 例: 編寫用戶定義函數。要求得到每個部門的部門編號、部門名稱以及該部門的平均工資。并調用函數查看結果。 

    -- 查找名稱為tony的用戶的信息的程序為:


CREATE  FUNCTION dbo.FN_avg_jf()

RETURNS @result TABLE(e_dept varchar(10),avg_jf int)

AS

  BEGIN

    INSERT INTO @result SELECT g_dept,AVG(g_jf) FROM gamer GROUP BY g_dept

    RETURN

  END



     -- 通過該函數返回各部門的平均積分

SELECT * from dbo.FN_avg_jf()
select * from gamer


-- 準備工作:
create table stu_info
(
t_number char(8),
t_name varchar(10),
t_gender char(2),
t_birthday datetime
)

create table course
(
c_number char(6),
c_name varchar(20),
c_credit int,
c_hour int,
c_teacher varchar(10)
)


create table exam
(
t_number char(8),
c_number char(6),
t_grade decimal(5,2)
)

drop table exam
drop table course
drop table stu_info 
--向stu_info表插入數據
insert into stu_info values('20040301','張華','女','19840113')
insert into stu_info values('20040302','王立','男','19830624')
insert into stu_info values('20040303','蔣超','男','19841115')
insert into stu_info values('20040304','王浩雨','男','19851020')
insert into stu_info values('20040305','張靜','女','19840418')
insert into stu_info values('20050301','李華','女','19830113')
insert into stu_info values('20050302','張立','男','19840624')
insert into stu_info values('20050303','黃超','男','19851125')
insert into stu_info values('20050304','汪雨','男','19861020')
insert into stu_info values('20050305','王靜','女','19850418')

--向course表插入數據
insert into course values('100101','高等數學',2,60,'趙金')
insert into course values('100102','大學英語',3,80,'王維')
insert into course values('100103','大學物理',2,60,'李華')
insert into course values('100104','大學英語',4,80,'劉杰')
insert into course values('100105','大學英語',NULL,80,'劉杰')

--向exam表插入數據
insert into exam values('20040301','100101',79)
insert into exam values('20040301','100102',88)
insert into exam values('20040302','100101',90)
insert into exam values('20040302','100103',75)
insert into exam values('20040303','100101',79)
insert into exam values('20040303','100102',75)
insert into exam values('20040303','100103',95)
insert into exam values('20040304','100102',43)
insert into exam values('20040304','100103',68)
insert into exam values('20040305','100101',64)
insert into exam values('20040305','100102',87)
insert into exam values('20040305','100103',92)




-- 練習:

-- 1. 編寫用戶定義函數,要求根據學生學號、課程號查找出考試成績。并調用函數查看學號為20040301、課程號為100101的成績。


-- 2. 編寫用戶定義函數,要求根據姓名得到該學生的學生姓名和各科考試成績。并調用函數查看學號為20040301的考試成績


-- 3.  編寫用戶定義函數。要求得到每個部門的部門編號、部門名稱以及該部門的平均工資。并調用函數查看查找每個學生的平均分。 






-- 練習參考答案:

-- 1. 編寫用戶定義函數,要求根據學生學號、課程號查找出考試成績。并調用函數查看學號為20040301、課程號為100101的成績。

CREATE alter FUNCTION dbo.FN_grade(@t_num char(8),@c_num char(6))

RETURNS decimal(5,2)

AS

  BEGIN

    DECLARE @grade decimal(5,2)

    SET @grade=(SELECT t_grade FROM exam WHERE t_number=@t_num and c_number=@c_num)

    RETURN @grade

  END

   -- 通過該函數,查找學號為20040301、課程號為100101的成績


SELECT dbo.FN_grade('20040301','100102') AS '成績'



-- 2. 編寫用戶定義函數,要求根據姓名得到該學生的學生姓名和各科考試成績。并調用函數查看學號為20040301的考試成績

   -- 編寫用戶定義函數 

CREATE alter FUNCTION dbo.FN_search_grade(@t_name varchar(10)) 

RETURNS TABLE 

AS 

  RETURN (SELECT s.t_name,e.c_number,e.t_grade FROM exam as e,stu_info as s WHERE (t_name=@t_name and s.t_number=e.t_number)) 


   -- 執行該用戶定義函數,查找名稱為aaa2的用戶的信息的程序為:

SELECT * from dbo.FN_search_grade('張華')



-- 3.  編寫用戶定義函數。要求得到每個部門的部門編號、部門名稱以及該部門的平均工資。并調用函數查看查找每個學生的平均分。 

    -- 查找學生平均分的程序為:


CREATE  FUNCTION dbo.FN_avg_grade()

RETURNS @grade TABLE(t_number char(8),avg_grade decimal(5,2))

AS

  BEGIN

    INSERT INTO @grade SELECT t_number,AVG(t_grade) FROM exam GROUP BY t_number

    RETURN

  END



     -- 通過該函數返回各學生的平均分

SELECT * from dbo.FN_avg_grade()








?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情中文字幕一区二区| 色噜噜偷拍精品综合在线| 7777精品伊人久久久大香线蕉最新版| 亚洲欧美日韩人成在线播放| 91浏览器在线视频| 无码av免费一区二区三区试看 | 不卡免费追剧大全电视剧网站| 欧美激情艳妇裸体舞| 91网上在线视频| 亚洲电影第三页| 欧美xxxx老人做受| 成人精品视频一区二区三区尤物| 亚洲三级视频在线观看| 欧美日本免费一区二区三区| 精品一区二区三区的国产在线播放| 久久精品综合网| 色噜噜狠狠色综合欧洲selulu| 日韩在线一二三区| 国产拍揄自揄精品视频麻豆| 色综合 综合色| 精品一区精品二区高清| **欧美大码日韩| 欧美一区二区久久久| 粉嫩aⅴ一区二区三区四区| 一区二区三区视频在线观看| 中文在线资源观看网站视频免费不卡| 91精品福利视频| 久久国产综合精品| 亚洲欧美日韩中文播放| 精品国产乱码久久久久久1区2区 | 精品一区二区三区av| 国产精品久久久久毛片软件| 欧美日韩国产不卡| 成人免费高清视频在线观看| 午夜免费久久看| 国产精品高潮呻吟| 日韩精品专区在线影院观看 | 亚洲国产乱码最新视频| 26uuu精品一区二区在线观看| 91福利在线导航| 国产成人久久精品77777最新版本| 亚洲在线视频网站| 国产精品电影一区二区三区| 日韩免费看的电影| 欧美日韩中文另类| www.欧美日韩| 国产精品1区2区3区在线观看| 香蕉影视欧美成人| 亚洲精品国产品国语在线app| 久久久精品中文字幕麻豆发布| 在线91免费看| 欧美视频一二三区| 色悠久久久久综合欧美99| 成人黄色小视频| 国产精品原创巨作av| 日韩av不卡在线观看| 一区二区三区电影在线播| 国产精品久久久久永久免费观看| 日韩精品一区在线| 日韩午夜小视频| 7777精品伊人久久久大香线蕉 | 欧美二区三区91| 欧美视频在线一区二区三区| av不卡免费电影| fc2成人免费人成在线观看播放| 国产麻豆精品一区二区| 精品一区二区三区蜜桃| 激情成人午夜视频| 六月丁香婷婷久久| 久久国产婷婷国产香蕉| 捆绑变态av一区二区三区| 石原莉奈在线亚洲三区| 日韩国产高清影视| 美腿丝袜在线亚洲一区| 蜜桃一区二区三区在线观看| 日韩国产欧美在线播放| 奇米888四色在线精品| 强制捆绑调教一区二区| 免费成人av资源网| 麻豆精品在线视频| 韩国成人精品a∨在线观看| 九九热在线视频观看这里只有精品| 99re在线精品| 91极品美女在线| 欧美性感一区二区三区| 欧美伦理视频网站| 欧美v亚洲v综合ⅴ国产v| 久久久久国产精品厨房| 中文字幕一区二区三区在线不卡| 中文字幕一区二区三区视频| 亚洲精品ww久久久久久p站| 亚洲国产精品天堂| 麻豆精品视频在线观看视频| 国产成人综合在线| 91麻豆国产福利在线观看| 欧美日韩成人高清| 精品成人一区二区三区四区| 国产偷国产偷亚洲高清人白洁| 中文字幕一区二区三区av| 亚洲一区二区偷拍精品| 日韩精品福利网| 国产成人在线看| 91久久国产综合久久| 欧美r级电影在线观看| 国产精品剧情在线亚洲| 五月天激情小说综合| 国产精品18久久久| 日本韩国精品在线| 精品国产亚洲在线| 亚洲乱码国产乱码精品精的特点 | 亚洲激情在线播放| 美国毛片一区二区| 色综合久久久久久久久久久| 日韩一区二区三区在线视频| 国产精品成人在线观看| 免费视频最近日韩| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 成人午夜碰碰视频| 91精品免费在线观看| 国产精品大尺度| 蓝色福利精品导航| 欧美性淫爽ww久久久久无| 久久久.com| 免费一级欧美片在线观看| 91在线视频免费观看| 欧美草草影院在线视频| 亚洲一区二区在线观看视频| 国产宾馆实践打屁股91| 欧美日韩国产大片| 亚洲人妖av一区二区| 国产一区二区三区黄视频 | 美女免费视频一区二区| a在线播放不卡| 精品国产伦一区二区三区观看体验| 亚洲欧美日韩久久精品| 国产精品91xxx| 精品国产一二三| 日韩精品每日更新| 欧美在线视频全部完| 国产精品久久国产精麻豆99网站| 日本欧美久久久久免费播放网| 日本国产一区二区| 国产美女一区二区三区| 欧美裸体一区二区三区| 尤物视频一区二区| 91蜜桃婷婷狠狠久久综合9色| 26uuu色噜噜精品一区二区| 日一区二区三区| 欧美视频一二三区| 亚洲在线视频免费观看| www.av亚洲| 亚洲手机成人高清视频| 风间由美一区二区av101| 亚洲精品一区二区三区在线观看| 偷拍亚洲欧洲综合| 欧美午夜宅男影院| 亚洲一区二区三区四区在线| 91女神在线视频| 亚洲欧美在线观看| 97久久超碰国产精品电影| 中文字幕二三区不卡| 国产成人精品免费网站| 久久久久综合网| 激情五月婷婷综合网| 欧美videos大乳护士334| 日韩国产高清在线| 日韩欧美亚洲一区二区| 麻豆91在线观看| 精品88久久久久88久久久| 国产精一品亚洲二区在线视频| 久久久久久久久久久久久久久99 | 狠狠色狠狠色综合| 精品国产亚洲在线| 国产福利精品导航| 中文字幕第一区第二区| 97se亚洲国产综合自在线观| 亚洲伦理在线免费看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 国产蜜臀97一区二区三区| 午夜国产精品一区| 在线观看视频欧美| 亚洲国产综合色| 在线综合亚洲欧美在线视频| 日本在线不卡一区| 精品盗摄一区二区三区| 国产传媒欧美日韩成人| 亚洲欧美国产三级| 欧美日韩亚洲另类| 久久精品国产在热久久| 国产人久久人人人人爽| 99久久久精品| 丝袜a∨在线一区二区三区不卡| 精品欧美乱码久久久久久| 国产宾馆实践打屁股91| 一区二区日韩av| 欧美一级高清大全免费观看| 国产成人综合网| 性做久久久久久免费观看| 欧美大黄免费观看| 91免费国产在线观看|