sql中自定義的函式分為標量函式和錶值函式。
標量函式 :返回值是乙個值;
錶值函式 :返回值是一張表 。
標量函式:
create
function testa(
@idint
)--定義函式名(隨意)、引數、引數型別(可以有很多個引數,用『,』分隔)
returns
varchar(10
)-- 定義返回結果的型別
asbegin
declare
@value
varchar(10
)select
@value
= name from
user
where uid =
@idreturn
@value
end--呼叫函式
select dbo.testa(
1)
錶值函式之內嵌函式:
--返回所有學生的資訊 注意此處不需begin-end包裹
create
function testb(
)--定義函式名(隨意)、引數、引數型別(可以有很多個引數,用『,』分隔)
returns
table
-- 定義返回結果型別為一張表
asreturn
(select
*from student)
--呼叫函式
select
*from dbo.testb(
)
錶值函式-多語句函式:
create
function testc(
@sname
varchar(10
))returns
@tempa
table
( id int
, namess varchar(10
),mathsc int
, chinesesc int
)--自定義表中的字段
asbegin
insert
into
@tempa
select s.sid,s.name,sc.math_score,sc.chinese_score from student s
left
join score sc on sid = csno where name =
@sname
return
end--呼叫函式
select
*from dbo.testc(
'孫')
SQL自定義函式
建立使用者自定義函式 標量函式 create function dbo.bmrs bmh as int returns int asbegin declare bmrs int select bmrs count 工號 from 銷售人員where 部門號 bmh return bmrs endgo...
sql 自定義函式
delimiter create definer function woshow try aid bigint returns bigint 20 language sql not deterministic sql security comment string begin if aid 0 th...
SQL自定義函式
自定義函式與儲存過程的區別 存在的意義 1.能夠在select等sql語句中直接使用自定義函式,儲存過程不行。2.自定義函式可以呼叫其他函式,也可以呼叫自己 遞迴 3.可以在表列和check 約束中使用自定義函式來實現特殊列或約束 4.自定義函式不能有任何 函式 是指對具有函式外作用域 例如資料庫表...