会议室预定系统数据库文件pro

DELIMITER $$

 

DROP PROCEDURE IF EXISTS pro$$

 

CREATE PROCEDURE pro()

    /*LANGUAGE SQL

    | [NOT] DETERMINISTIC

    | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }

    | SQL SECURITY { DEFINER | INVOKER }

    | COMMENT 'string'*/

    BEGIN

declare dateBegin date default '2009-5-2'; 

declare dateEnd date default '2009-5-2'; 

declare timeBegin time default '9:00'; 

declare timeEnd time default '11:00';

set timeBegin = '9:00';

set timeEnd = '11:00';

 

select distinct rm.roomName 

from tblRoom as rm, tblReserve as rs 

where rm.roomBuilding = 'A1' 

and 

(rm.pkRoomId not in (select fkRoomId from tblReserve)) 

or 

((rm.pkRoomId = rs.fkRoomId) 

and 

(

(timeBegin >= rs.rsrvTimeEnd 

and timeEnd <= (select min(rs2.rsrvTimeBegin) 

from tblReserve as rs2 

where rs2.rsrvTimeBegin >= rs.rsrvTimeEnd 

and rm.pkRoomId = rs2.fkRoomId 

or 

(timeEnd <= rs.rsrvTimeBegin 

and timeBegin >= (select max(rs2.rsrvTimeEnd) 

from tblReserve as rs2 

where rs2.rsrvTimeEnd <= rs.rsrvTimeBegin 

and rm.pkRoomId = rs2.fkRoomId 

)

)

or

(timeBegin >= (select max(rs2.rsrvTimeEnd) 

from tblReserve as rs2 

where rm.pkRoomId = rs2.fkRoomId

)

)

or

(timeEnd <= (select min(rs2.rsrvTimeBegin) 

from tblReserve as rs2 

where rm.pkRoomId = rs2.fkRoomId 

)

)

/*浠ヤ笂鏄椂闂达紝浠ヤ笅鏄棩鏈?/

or

(dateBegin > rs.rsrvDateEnd 

and dateEnd < (select min(rs2.rsrvDateBegin) 

from tblReserve as rs2 

where rs2.rsrvDateBegin > rs.rsrvDateEnd 

and rm.pkRoomId = rs2.fkRoomId 

)

)

or

(dateEnd < rs.rsrvDateBegin 

and dateBegin > (select max(rs2.rsrvDateEnd) 

from tblReserve as rs2 

where rs2.rsrvDateEnd < rs.rsrvDateBegin

and rm.pkRoomId = rs2.fkRoomId 

)

)

or

(dateBegin > (select max(rs2.rsrvDateEnd) 

from tblReserve as rs2 

where rm.pkRoomId = rs2.fkRoomId 

)

)

or(dateEnd < (select min(rs2.rsrvDateBegin)

from tblReserve as rs2 

where rm.pkRoomId = rs2.fkRoomId 

)

)

)

); 

 

 

    END$$

 

DELIMITER ;

 

call pro();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
预约系统(⼀)数据库设计 预约系统(⼀)数据库设计 数据库sql server 2008 名称:DB_Date_Plan 表:T_bm,T_hys_plan,T_kryy_plan,T_meetingroom,T_room,T_time,T_userInfo 1 USE [DB_Date_Plan] 2 GO 3 /****** Object: Table [dbo].[T_userInfo] Script Date: 07/13/2017 08:38:16 ******/ 4 SET ANSI_NULLS ON 5 GO 6 SET QUOTED_IDENTIFIER ON 7 GO 8 CREATE TABLE [dbo].[T_userInfo]( 9 [id] [int] IDENTITY(1,1) NOT NULL, 10 [userName] [nvarchar](50) NULL, 11 [userPassword] [nvarchar](50) NULL, 12 [userEmail] [nvarchar](50) NULL, 13 [user_BM] [nvarchar](50) NULL, 14 [add_time] [datetime] NULL, 15 [user_FullName] [nvarchar](50) NULL, 16 [user_Power] [nvarchar](50) NULL, 17 CONSTRAINT [PK_T_userInfo] PRIMARY KEY CLUSTERED 18 ( 19 [id] ASC 20 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 21 ) ON [PRIMARY] 22 GO 23 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'⽤户权限,1-⽤户权限,2-管理员权限,3-超级权限' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_userInfo 24 GO 25 /****** Object: Table [dbo].[T_room] Script Date: 07/13/2017 08:38:16 ******/ 26 SET ANSI_NULLS ON 27 GO 28 SET QUOTED_IDENTIFIER ON 29 GO 30 CREATE TABLE [dbo].[T_room]( 31 [id] [bigint] IDENTITY(1,1) NOT NULL, 32 [room_id] [nvarchar](50) NULL, 33 [room_mc] [nvarchar](50) NULL, 34 [adder] [nvarchar](50) NULL, 35 [add_time] [datetime] NULL, 36 CONSTRAINT [PK_T_room] PRIMARY KEY CLUSTERED 37 ( 38 [id] ASC 39 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 40 ) ON [PRIMARY] 41 GO 42 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会议室编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_room', @level2type=N'COLUMN',@level2name 43 GO 44 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会议室名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_room', @level2type=N'CO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值