对着月亮唱歌的幸福生活

即便是莲藕内心真空之所,也有根根柔丝穿过。
  博客园  :: 首页  :: 联系 :: 管理

经典总结:数据库Sql2000存储过程-持续更新

Posted on 2009-05-31 10:56  对月而歌  阅读(303)  评论(0)    收藏  举报

 

/******************************************************************
* 表名:User
* 时间:2009-5-31 10:39:05
* Made by STMooN
*****************************************************************
*/ 

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UP_User_GetMaxId]'and OBJECTPROPERTY(id, N'IsProcedure'= 1)
drop procedure [dbo].[UP_User_GetMaxId]
GO
------------------------------------
--
用途:得到主键字段最大值 
--
项目名称:CodematicDemo
--
说明:
--
时间:2009-5-31 10:39:05
--
----------------------------------
CREATE PROCEDURE UP_User_GetMaxId
AS
    
DECLARE @TempID int
    
SELECT @TempID = max([ID])+1 FROM [User]
    
IF @TempID IS NULL
        
RETURN 1
    
ELSE
        
RETURN @TempID 

GO 

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UP_User_Exists]'and OBJECTPROPERTY(id, N'IsProcedure'= 1)
drop procedure [dbo].[UP_User_Exists]
GO
------------------------------------
--
用途:是否已经存在 
--
项目名称:CodematicDemo
--
说明:
--
时间:2009-5-31 10:39:05
--
----------------------------------
CREATE PROCEDURE UP_User_Exists
@ID int
AS
    
DECLARE @TempID int
    
SELECT @TempID = count(1FROM [User] WHERE ID=@ID 
    
IF @TempID = 0
        
RETURN 0
    
ELSE
        
RETURN 1 

GO 

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UP_User_ADD]'and OBJECTPROPERTY(id, N'IsProcedure'= 1)
drop procedure [dbo].[UP_User_ADD]
GO

------------------------------------
--
用途:是否已经存在 (2)
--
项目名称:CodematicDemo
--
说明:
--
时间:2009-5-12 11:41:18
--
----------------------------------
CREATE PROCEDURE UP_User_Exists
@UserName nvarchar(50)
AS 

    
SELECT  count(*FROM [User] WHERE UserName=@UserName
GO


------------------------------------
--
用途:增加一条记录 
--
项目名称:CodematicDemo
--
说明:
--
时间:2009-5-31 10:39:05
--
----------------------------------
CREATE PROCEDURE UP_User_ADD
@ID int output,
@UserName nvarchar(50),
@PassWord nvarchar(50),
@UserCategory int 

 
AS 
    
INSERT INTO [User](
    
[UserName],[PassWord],[UserCategory]
    )
VALUES(
    
@UserName,@PassWord,@UserCategory
    )
    
SET @ID = @@IDENTITY 

GO 

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UP_User_Update]'and OBJECTPROPERTY(id, N'IsProcedure'= 1)
drop procedure [dbo].[UP_User_Update]
GO
------------------------------------
--
用途:修改一条记录 
--
项目名称:CodematicDemo
--
说明:
--
时间:2009-5-31 10:39:05
--
----------------------------------
CREATE PROCEDURE UP_User_Update
@ID int,
@UserName nvarchar(50),
@PassWord nvarchar(50),
@UserCategory int
 
AS 
    
UPDATE [User] SET 
    
[UserName] = @UserName,[PassWord] = @PassWord,[UserCategory] = @UserCategory
    
WHERE ID=@ID 

GO 

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UP_User_Delete]'and OBJECTPROPERTY(id, N'IsProcedure'= 1)
drop procedure [dbo].[UP_User_Delete]
GO
------------------------------------
--
用途:删除一条记录 
--
项目名称:CodematicDemo
--
说明:
--
时间:2009-5-31 10:39:05
--
----------------------------------
CREATE PROCEDURE UP_User_Delete
@ID int
 
AS 
    
DELETE [User]
     
WHERE ID=@ID 

GO 

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UP_User_GetModel]'and OBJECTPROPERTY(id, N'IsProcedure'= 1)
drop procedure [dbo].[UP_User_GetModel]
GO
------------------------------------
--
用途:得到实体对象的详细信息 
--
项目名称:CodematicDemo
--
说明:
--
时间:2009-5-31 10:39:05
--
----------------------------------
CREATE PROCEDURE UP_User_GetModel
@ID int
 
AS 
    
SELECT 
    ID,UserName,PassWord,UserCategory
     
FROM [User]
     
WHERE ID=@ID 

GO 

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UP_User_GetList]'and OBJECTPROPERTY(id, N'IsProcedure'= 1)
drop procedure [dbo].[UP_User_GetList]
GO
------------------------------------
--
用途:查询记录信息 
--
项目名称:CodematicDemo
--
说明:
--
时间:2009-5-31 10:39:05
--
----------------------------------
CREATE PROCEDURE UP_User_GetList
 
AS 
    
SELECT 
    ID,UserName,PassWord,UserCategory
     
FROM [User] 

GO 

--------------------------------------

--用途:查询记录信息 返回List 若输入””则为通配条件,&&时间区间
--
项目名称:CodematicDemo
--
说明:
--
时间:2009-5-31 10:39:05

--------------------------------------

CREATE PROCEDURE [dbo].[GetDeviceList]
(
@ID int,
@SerialNum nvarchar(50),
@Category int,
@Name nvarchar(50),
@BuildingUser nvarchar(50),
@StoragePlace nvarchar(50),
@CreateDateBegin datetime,
@CreateDateFinish datetime,
@DeviceState int
)
AS 

declare @sql nvarchar(2000)


set @sql = 'select * from Device where '+ quotename(convert(varchar,@CreateDateFinish102), '''')
 
+ '>= convert (varchar,CreateDate,102) and convert (varchar,CreateDate,102)>='
 
+ quotename (convert(varchar,@CreateDateBegin,102),''''



if @ID <> 0
    
set @sql  = @sql + ' and ID = ' + quotename(@ID'''')
if @Name <> ''
    
set @sql  = @sql + ' and Name = ' + quotename(@Name'''')
if @SerialNum  <> ''
    
set @sql  = @sql + ' and SerialNum = ' + quotename(@SerialNum'''')
if @BuildingUser  <> ''
    
set @sql  = @sql + ' and BuildingUser = ' + quotename(@BuildingUser'''')
if @StoragePlace  <> ''
    
set @sql = @sql + ' and StoragePlace = ' + quotename(@StoragePlace'''')
if @DeviceState  <> 0
    
set @sql = @sql + ' and DeviceState = ' + quotename(@DeviceState'''')
if @Category <>0
    
set @sql  = @sql + ' and Category = ' + quotename(@Category''''

print(@sql

EXECUTE sp_executesql @sql
GO