--
多語句錶值函式 --
多語句錶值函式可以看做是標量函式和內聯錶值函式的結合體。 --
語法:
--create function
函式名([引數列表])
--returns
表變數名 table --
(表變數的字段定義)
--as
--begin
-- sql語句
-- return
--end --
練習:根據性別返回所有學生的學號,姓名,籍貫,數學成績,如果是女生,就給她們
--
的數學成績+10分
create
function
fun_studentscore
(@gender
bit)
returns
@stuscore
table (
stuno
char
(9),
stuname
nvarchar
(8),
city
nvarchar
(8),
math
int )
as begin
insert
into
@stuscore
select
stuno
,stuname
,city
,math
from
student
join
score on
student.id
=socre
.stuid
where
student
.gender
=@gender if
(@gender
=0)
begin
update
@stuscore
setmath
=math
+10end
return
end--1.sql server
函式必須使用returns宣告值型別 --
所有的函式必須有返回值,函式體語句的最後一句必須是return --
函式不嫩能夠修改基表中的資料,也就是不能使用insert,update,delete語句 --
呼叫 select
*from
dbo.
fun_studentscore
(1)
經典的多語句錶值函式
set ansi nulls on set quoted identifier on gocreate function dbo ufngetcontactinformation contactid int returns retcontactinformation table columns re...
TOP語句放到錶值函式外,效率異常低下
在 系統中,有乙個獲取客戶資料的sqlserver 錶值函式,如果使用管理員登入,這個函式會返回150w行記錄,大概需要30秒左右,但如果將top語句放到錶值函式外,效率異常低下,需要約3分鐘 select top20 from getframe customerserch admin 1 將get...
簡述錶值函式
錶值函式 建立示例表 create table t name varchar 20 go insert into t select a union select b go 內嵌錶值函式 語法 create function 函式名 引數列表 returns table as return t sql...