自定義函式
內聯錶值函式:返回值為可更新表。函式內包含單個
select
語句且該語句可更新,則返回的表也可以更新。
多語句錶值函式:返回值為不可更新表。函式內包含多個
select
語句且該語句可更新,則返回的表不可更新。
標量函式:返回值為標量值。
自定義函式由乙個或者多個
t-sql
語句構成的子程式
,用於封裝使用者**
定義格式:
create
function
函式名(
引數列表)
returns
資料型別
---定義返回值型別
asbegin
變數函式
create
function max2( @par1 real
, @par2 real
)returns
real
asbegin
declare @par real
if @par1 > @par2
set @par = @par1
else
set @par = @par2;
return @par
end
內聯錶值函式
create
function showperson( @par int
)returns
tableas
return
select
*from person where pno = @par
select
*from dbo.showperson(2);
多語句錶值函式
create
function showstudent ( @xuehao varchar
(12)
)returns @chengji table
( xuehao nchar
(12)
, xingming nchar
(20))as
begin
insert @chengji
select xuehao , xingming from student where xuehao = @xuehao
return
end控制流語句
1、if
--- else
if…else
語句是條件判斷語句,其中,
else
子句是可選的,最簡單的
if語句沒有
else
子句部分。
if…else
語句用來判斷當某一條件成立時執行某段程式,條件不成立時執行另一段程式。 2
、begin
--- end
begin
…end
語句能夠將多個
transact-sql
語句組合成乙個語句塊,並將它們視為乙個單元處理。
在條件語句和迴圈等控制流程語句中,當符合特定條件便要執行兩個或者多個語句時,就需要使用
begin
…end
語句。
其語法形式為:
begin
end
3、case函式
case
函式可以計算多個條件式,並將其中乙個符合條件的結果表示式返回。
case
函式按照使用形式的不同,可以分為簡單
case
函式和搜尋
case
函式。
例: select
pname,age,
case
prof
when
'總經理
'then
'高層幹部'
when
'部門經理
'then
'高層幹部'
when'主任
'then
'中層幹部'
when'組長
'then
'基層幹部'
endfrom
person
4、while
…continue…break語句
continue
語句可以使程式跳過
continue
語句後面的語句,回到
while
迴圈的第一行命令。
break
語句則使程式完全跳出迴圈,結束
while
語句的執行。
5、goto語句
goto
語句可以使程式直接跳到指定的標有識別符號的位置處繼續執行,而位於
goto
語句和識別符號之間的程式將不會被執行。
goto
語句和識別符號可以用在語句塊、批處理和儲存過程中,識別符號可以為數字與字元的組合,但必須以「:
」結尾。
例:利用
goto
語句求出從加到的總和。
declare
@sum int
, @count int
select
@sum=0, @count=1
label_1:
select
@sum=@sum+@count
select
@count=@count+1
if@count<=5
goto
label_1
select
@count,@sum 6
、waitfor語句
waitfor
語句用於暫時停止執行
sql語句、語句塊或者儲存過程等,直到所設定的時間已過或者所設定的時間已到才繼續執行。
waitfor
語句的語法形式為:
waitfor
其中,delay
用於指定時間間隔,
time
用於指定某一時刻,其資料型別為
datetime
,格式為
『hh:mm:ss』。
waitfor
time
'12:52'
select
*from person
7.return語句
return
語句用於無條件地終止乙個查詢、儲存過程或者批處理,此時位於
return
語句之後的程式將不會被執行。
return
語句的語法形式為:
return
[ integer_expression ]
其中,引數
integer_expression
為返回的整型值。儲存過程可以給呼叫過程或應用程式返回整型值。
T SQL程式設計 使用者自定義函式 標量函式
在使用sql server的時候,除了其內建的函式之外,還允許使用者根據需要自己定義函式。根據使用者定義函式返回值的型別,可以將使用者定義的函式分為三個類別 如果使用者定義函式包含了單個select語句且語句可更新,則該函式返回的表也可更新,這樣的函式稱為內嵌錶值函式。如果使用者定義函式包含多個se...
python自定義函式(二)
coding cp936 給函式的引數設定預定值 def test function val1,val2 20 形參 有預定值的引數寫到最右面,否則編譯報錯 print val1,加,列印到一行 print val2 c val1 val2 return c print entry programe...
T Sql ,自定義函式,返回遞迴結果集
寫程式是總是用到父子關係的資料,通過給定節點得到其子節點的記錄,寫檢視但是不支援傳入引數。那就用 自定義函式來完成這個需求吧!1.建立檢視 create function myfunc id int returns tab table id int,parentid int,level int,tn...