sql server中函式分別有:錶值函式、標量函式、聚合函式、系統函式。這些函式中除系統函式外其他函式都需要使用者進行自定義。
一、錶值函式
簡單錶值函式
建立create function fu_selectuser
( )
returns table --錶值函式返回型別為table
asreturn(
select * from user )呼叫
select * from fu_selectuser() --由於該函式是錶值函式,所以可以當成表進行應用
--結果由select語句來決定反回結果
結構create function fu_name
(引數)
return table
asreturn
(--函式體)
end複雜錶值函式-多語句錶值函式
多語句錶值函式需要指定具體的table型別的結構。可以自己定義哪些字段返回,所以可以支援多條語句執行來建立table資料
建立: 多語句錶值函式
create function fu_cu1(
)returns @user table--指定表名 該錶為虛擬表不存在
(--指定字段
id int,
name varchar(20),
age int)as
begin
insert into @user values (20120101,'小明',12)
insert into @user values (20120105,'小紅',12)
insert into @user values (select id,name,age from user2)
return
end結構
create function fu_name
(--引數)
returns @tablename table --指定表名
(--指定字段)
as begin
--函式體
return
end二、標值函式
建立create function fu_sum
(@value1 int ,@value2 int
)returns int
asbegin
declare @sum int --宣告變數
select @sum = @value1 + @value2
return @sum
end呼叫
select dbo.fu_sum(45,55)
結構create function fu_name
()returns object--反回值型別
asbegin
--函式體
end三、聚合函式
在我的映像中聚合不外count() sun()等操作,通過種條件達到資料整合,比如查詢某班級中成績大於90分的人數以及小於80分的人數,等等。
然而在sql server中聚合函式還有許多高深的用法,感覺比較難,等以後會弄了,在來分享,-.-。
四、函式的修改
1.在資料庫中找到相應的函式,然後右擊,選擇修改。
2.直接alert function fu_anme...對函式進行重新編寫覆蓋。
我也是剛接觸sql server不久,如果有什麼不當之處懇請批評指出,謝謝!
SQLServer自定義函式學習
sql server 2000 允許使用者建立自定義函式,自定義函式可以有返回值。自定義函式分為 標量值函式或表值函式 如果 returns 子句指定一種標量資料型別,則函式為標量值函式。可以使用多條 transact sql 語句定義標量值函式。如果 returns 子句指定 table 則函式為...
SQL SERVER 自定義函式
元宵節快樂 自定義函式分為兩類 一類為 標量函式,一類為表值函式。create funetion 函式名 引數 return 返回值資料型別 with as begin sql語句 必須有return 變數或值 end 一 內聯 值函式 create function 函式名 引數 returns ...
sqlserver自定義函式
returns 子句指定一種標量資料型別,則函式為標量值函式。語法create function 函式名 引數 returns 返回值資料型別 with as begin sql語句 必須有return 變數或值 end 釋義 列子 create function funcgetresult ret...