儲存過程例項及函式相關

2021-09-21 22:47:39 字數 3115 閱讀 2085

/*獲取在指定系中選修某一門課程的學生基本資訊和成績,並按成績降序排列*/  

create

proc stu_grade  

@sdept 

varchar

(50),  

@cname 

varchar

(10)  

asselect

student.sno 學號,student.sname 姓名,student.sgentle 性別,course.cname 課程名,course.cgrade 學分,sc.grade 成績  

from

student 

join

sc  

onstudent.sno = sc.sno  

join

course  

oncourse.cno = sc.cno  

where

student.sdept=@sdept  

andcourse.cname=@cname  

order

bysc.grade 

desc

exec

stu_grade 

'計算機'

,'作業系統'

exec

stu_grade 

'計算機'

,'資料結構'

/*模糊查詢*/  

create

proc stu_sname  

@sname 

varchar

(50)/*在建立儲存過程中的變數的時候,變數的型別與長度最好與資料表中的一致,否則可能查不出資料;像這裡如果寫成10的話就查不出來資料*/  

asselect

*   

from

student  

where

sname 

like

@sname  

exec

stu_sname 

'張%'

setstatistics

io on

setnocount 

onset

statistics

time

onset

ansi_nulls 

onselect

* into

qlei 

from

student  

--以下說明了set ansi_nulls on的用法:

select

* from

qlei 

where

sname 

isnull

select

* from

qlei 

where

sname 

isnot

null

setansi_nulls 

onselect

* from

qlei 

where

sname = 

null

select

* from

qlei 

where

sname<>

null

setansi_nulls 

offselect

* from

qlei 

where

sname = 

null

select

* from

qlei 

where

sname<>

null

--以下說明了set quoted_identifier on的用法

setquoted_identifier 

onselect

* into

"user"

from

qlei  

select

* from

"user"

where

sno=

'990028'

select

* from

[user

] where

sno=

'990028'

setquoted_identifier 

offselect

* from

user

where

sno=

'990028'

--這樣寫報錯

select

* from

[user

] where

sno=

'990028'

select

* from

[user

] where

sno=

"990028"

--以下是sql中函式的建立及使用方法

create

function

test(@num 

varchar

(20))

--@num 引數

returns

varchar

(50) 

--返回值型別

asbegin

declare

@msg 

varchar

(20)  

if(@num =1)  

select

@msg =

'正確'

else

select

@msg =

'錯誤'

return

@msg   

end--呼叫函式

select

dbo.test(2)  

--建立返回table型別的函式

create

function

getallstudents()  

returns

table

asreturn

(select

* from

student)  

--呼叫函式

select

* from

getallstudents()

--這裡只能這樣寫,不能寫成像上面的那種形式

儲存過程 儲存過程及函式例項

儲存過程及函式例項練習 一 1 建立儲存過程food price count。2 使用call語句來呼叫儲存過程。查詢 在2 18之間的食品種數。3 使用select語句檢視結果。4 使用drop語句刪除儲存過程food price count。可以通過,show procedure status ...

儲存過程語法及例項

一般儲存過程的格式 create or replace procedure 儲存過程名 param1 in type,param2 out type as變數1 型別 值範圍 變數2 型別 值範圍 begin 語句塊exception 異常處理 when others then rollback e...

Oracle儲存過程及函式

1.在oracle中,儲存過程包括三部分組成 定義部分 執行部分 和異常處理部分 即例外 eg1 輸入員工編號,查詢員工的姓名和薪資 create or repalce procedure mypro2 is declare 定義部分,定義變數和常量等,變數定義一般以v 開頭,常量定義一般以c 開頭...