儲存過程的簡單應用

2022-03-02 19:58:29 字數 1985 閱讀 6345

今天教大家如何使用儲存過程自動生成一張日曆表,我們以sql server為操作平台。

問題描述:輸入想要生成日曆的年份,呼叫儲存過程,即可生成該年的全部日曆。

建立表結構

create

table

calendar_info

( date_name

varchar(20) primary

key,

year

varchar(10

),

month

varchar(10

), week

varchar(10

),

dayvarchar(10

))

建立儲存過程

if

exists (select

*from sys.procedures where name =

'proc_calendar')

drop

proc

proc_calendar

gocreate

proc

proc_calendar

@year

intas

begin

declare

@iint

;

declare

@start_day

varchar(20

);

declare

@end_day

varchar(20

);

declare

@day_count

int;

declare

@today

datetime

;

set@i=0

--定義一年的開始日期,用concat函式將年份和月份日期拼接起來

set@start_day

=concat(@year,'

-01-01')

--定義一年的結束日期

set@end_day

=concat(@year

+1,'

-01-01')

--datediff函式計算日期的間隔天數

set@day_count

=datediff(day,@start_day,@end_day

)

--把@start_day轉成datetime,賦值給@today

set@today

=convert(datetime,@start_day

)

while

@i<

@day_count

begin

insert

into calendar_info values

(

convert(varchar(10),@today,23

),

str(@year

),

datename(month,@today

),  --返回月份

datename(weekday,@today

), --返回星期幾

datename(day,@today

)    --返回日期

)set@i=@i

+1set@today

=convert(char(10),dateadd(day,1,@today),23

) --天數加1

endend

呼叫儲存過程

儲存過程的應用

今天深入講了儲存過程和如何建立儲存過程 宣告新的結束符 delimiter 一 建立儲存過程 create procedure p1 select from t1 單條 create procedure p1 begin 流程控制結構 sql語句集合 end 二 引數的應用 1 in 輸入形參引數,...

mysql儲存過程應用 MySQL儲存過程使用解析

mysql儲存過程 儲存過程 stored procedure 是一種在資料庫中儲存複雜程式,以便外部程式呼叫的一種資料庫物件。目的是為了完成特定功能的sql語句集,經編譯建立並儲存在資料庫中,使用者可通過指定儲存過程的名字並給定引數 需要時 來呼叫執行。說白了就是資料庫 sql語言層面的 封裝與重...

簡單的oracle儲存過程

1 oracle儲存過程以及 asp.net 中呼叫儲存過程,實現乙個簡單的登入功能,只是作為學習的,所以處理可能不太合理。在pl sql developer 中編寫儲存過程 新建procedures 乙個簡單的登入檢查儲存過程 如下 create or replace procedure user...