多語句錶值函式

2021-08-30 21:57:39 字數 1256 閱讀 8536

--

多語句錶值函式 --

多語句錶值函式可以看做是標量函式和內聯錶值函式的結合體。 --

語法:

--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...