?? axesweight.sql
字號:
/*
* 文件名:AxesWeight.sql
* 說明:軸重模塊存儲過程的定義
* 修改日期:2006.6.15
* 執(zhí)行條件:當(dāng)數(shù)據(jù)庫重新創(chuàng)建時(shí),就要執(zhí)行以下SQL語句
*/
/*******************************************************************************************/
/*
* 存儲過程名:SP_Cars_SelectByPageNo
* 說明:通用的分頁檢索,可以提高效率,通用性強(qiáng)
* 修改日期:2006.6.15
*/
/*一個(gè)通用的分頁檢索存儲過程----開始*/
--檢查所要?jiǎng)?chuàng)建的存儲過程sp_selectbypageno是否存在
if Exists(select * from dbo.sysobjects where id=object_id('SP_Cars_SelectByPageNo'))
drop procedure SP_Cars_SelectByPageNo
go
--創(chuàng)建存儲過程
CREATE PROCEDURE SP_Cars_SelectByPageNo
@tb varchar(50), --表名
@col varchar(50), --按該列來進(jìn)行分頁
@coltype int, --@col列的類型,0-數(shù)字類型,1-字符類型,2-日期時(shí)間類型
@orderby bit, --排序,0-順序,1-倒序
@collist varchar(800),--要查詢出的字段列表,*表示全部字段
@pagesize int, --每頁記錄數(shù)
@page int, --指定頁
@condition varchar(800),--查詢條件
@totalcount int OUTPUT, --總記錄數(shù)
@pages int OUTPUT --總頁數(shù)
AS
--關(guān)掉 顯示所影響的記錄數(shù) 這個(gè)功能,提高性能
SET NOCOUNT ON
DECLARE @sql nvarchar(4000),@where1 varchar(800),@where2 varchar(800)
IF @condition is null or rtrim(@condition)=''
BEGIN--沒有查詢條件
SET @where1=' WHERE '
SET @where2=' '
END
ELSE
BEGIN--有查詢條件
SET @where1=' WHERE ('+@condition+') AND '--本來有條件再加上此條件
SET @where2=' WHERE ('+@condition+') '--原本沒有條件而加上此條件
END
SET @sql='SELECT @totalcount=COUNT(*),@pages=CEILING((@totalcount+0.0)/'+CAST(@pagesize AS varchar)+
') FROM '+@tb+@where2
--計(jì)算總頁數(shù)、總記錄數(shù)
EXEC sp_executesql @sql,N'@totalcount int OUTPUT,@pages int OUTPUT',@totalcount OUTPUT,@pages OUTPUT
IF @pages<>0 AND @page>@pages
SELECT @page=@pages
IF @orderby=0
SET @sql='SELECT TOP '+CAST(@pagesize AS varchar)+' '+@collist+
' FROM '+@tb+@where1+@col+'>(SELECT MAX('+@col+') '+
' FROM (SELECT TOP '+CAST(@pagesize*(@page-1) AS varchar)+' '+
@col+' FROM '+@tb+@where2+'ORDER BY '+@col+') t) ORDER BY '+@col
ELSE
SET @sql='SELECT TOP '+CAST(@pagesize AS varchar)+' '+@collist+
' FROM '+@tb+@where1+@col+'<(SELECT MIN('+@col+') '+
' FROM (SELECT TOP '+CAST(@pagesize*(@page-1) AS varchar)+' '+
@col+' FROM '+@tb+@where2+'ORDER BY '+@col+' DESC) t) ORDER BY '+
@col+' DESC'
--如果是第一頁
IF @page=1
SET @sql='SELECT TOP '+CAST(@pagesize AS varchar)+' '+@collist+' FROM '+@tb+
@where2+'ORDER BY '+@col+CASE @orderby WHEN 0 THEN '' ELSE ' DESC' END
--正式執(zhí)行該存儲過程
EXEC(@sql)
SET NOCOUNT OFF
/*一個(gè)通用的分頁檢索存儲過程----結(jié)束*/
GO
/*******************************************************************************************/
/*******************************************************************************************/
/*
* 存儲過程名:SP_Cars_DeleteByDateTime
* 說明:根據(jù)給定的日期datetime,刪除相應(yīng)該日期的紀(jì)錄
* 修改日期:2006.6.15
*/
if Exists(select * from dbo.sysobjects where id=object_id('SP_Cars_DeleteByDateTime'))
drop procedure SP_Cars_DeleteByDateTime
go
Create procedure SP_Cars_DeleteByDateTime
@datetime char(14)
AS
delete from 軸重 where datetime=@datetime
go
/*******************************************************************************************/
/*******************************************************************************************/
/*
* 存儲過程名:SP_Cars_StatisticByKind
* 說明:根據(jù)汽車軸數(shù)進(jìn)行統(tǒng)計(jì),給出對應(yīng)每種軸數(shù)所含汽車的數(shù)量
* 修改日期:2006.6.15
*/
if Exists(select * from dbo.sysobjects where id=object_id('SP_Cars_StatisticByKind'))
drop procedure SP_Cars_StatisticByKind
go
create procedure SP_Cars_StatisticByKind
as
Select TotalCount=count(*),AxesNum=zhoushu from 軸重 group by zhoushu
go
/*******************************************************************************************/
/*******************************************************************************************/
/*
* 存儲過程名:SP_Cars_IsHeavyCar
* 說明:根據(jù)車上橋的時(shí)間判斷其是否觸發(fā)撓度、振動(dòng)等的存盤
* 修改日期:2006.9.1
*/
if Exists(Select * from dbo.sysobjects where id=object_id('SP_Cars_IsHeavyCar'))
Drop Procedure SP_Cars_IsHeavyCar
Go
Create Procedure SP_Cars_IsHeavyCar
@DateTime char(14)
As
select * From 右幅橋 Where cartime=@DateTime
If @@rowcount=1
return(1)
else
return(0)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -