一:if else
語法: if 條件 begin 執行的操作 end else begin 執行的操作 end
二:while
語法:while 條件 begin 執行操作 end
例項:
use[oabusiness]go
/****** 物件: storedprocedure [dbo].[inertdate] 指令碼日期: 08/31/2012 15:30:23 *****
*/set ansi_nulls on
goset quoted_identifier on
gocreate
procedure
[dbo
].[inertdate](
@date
datetime , --
插入的日期
@flag
int--
判定插入的資料)as
begin
declare
@count
int;--
使用者記錄條數
set@count
=null
;declare
@count_add
int ;--
計數set
@count_add=1
;declare
@userid
int ;--
使用者userid
set@userid
=null
;declare
@workhour
int ;--
插入的時間
declare
@signstatus
int ;--
狀態end
if@flag=0
begin
set@workhour=0
set@signstatus=1
endelse
if@flag=1
begin
set@workhour
=28800
set@signstatus=0
endbegin
--獲取記錄條數
select
@count
=count(*) from dbo.t_userinfo where away_yn !=1--
迴圈插入記錄
while
@count_add
<
@count+1
begin
select
@userid
=userid from
( select row_number() over(order
by userid asc) as num,userid,away_yn from dbo.t_userinfo where away_yn !=
1) as
tem
where num=
@count_add
insert
into dbo.t_signinstatistics (userid,signdate,workhour,signstatus) values(@userid,@date,@workhour,@signstatus
)set
@count_add
=@count_add+1
endend
SQL 儲存過程裡呼叫另乙個儲存過程
由於建立了乙個儲存過程,並且要在另乙個儲存過程裡呼叫這個儲存過程所以在網上找了一下相關的 現在總結一下,防止以後還會用到 由於這次我寫的儲存過程只需要返回乙個求和的結果,所以我使用了output 引數,即執行了儲存過程以後返回乙個值 具體 如下 create procedure dbo t1 tes...
SQL裡在過程過程裡建立表
儲存過程已經存在就刪除了再建立 if exists select name from sysobjects where name create table chats and type p drop procedure create table chats go 建立儲存過程 create proc...
SQL的儲存過程
儲存過程可以改變sql語句的執行效能,提高執行效率 還可以作為一種安全機制,使使用者通過它來訪問未被授權的表和檢視。儲存過程包括的建立 執行 檢視 修改和刪除 概念 儲存過程是一組預先編譯好的transact sql語句。儲存過程為標準sql增加了幾種功能,這些功能正是sql語句所缺少的,增加的功能...