labs
# labs
实验室记录表。
|键名|类型|非空|说明|其它信息|
|:---:|:---:|:---:|:---:|:---|
|lab_id|int|是|实验室id|primary, auto increment|
|lab_name|varchar(30)|是|实验室名字||
|principal_sid|char(5)|是|实验室负责人的工号||
|open|bool|是|default true|
|open_time_range|char(11)|是|实验室开放时间|格式:8:00~14:30||
|open_day_range|varchar(7)|是|实验室每周几开放|格式:一二三四五六日||
|introduction|varchar(200)|是|实验室介绍|介绍一下实验室的位置,可以进行的实验,拥有的实验仪器等。||
## 存储过程
#### create_lab
如果表中不存在完全相同记录,则创建一条记录。
|参数|类型|非空|其他信息|
|:---:|:---:|:---:|:---|
|lab_name|IN varchar(30)|是||
|principal_sid|IN char(5)|是||
|open_time_range|IN char(11)|是||
|open_day_range|IN varchar(7)|是||
|introduction|IN varchar(200)|是||
|return_code| OUT tinyint|否|[返回状态码](doc:Z5PJgB1f)|
#### get_lab
获取实验室记录。可空参数全为空,或有且只有一个不为空,查询所有字段。
|参数|类型|非空|其他信息|
|:---:|:---:|:---:|:---|
|number|IN int|是|每一页显示的数量|
|pageIndex|IN int|是|分页的下标|
|lab_name|IN varchar(30)|否||
|principal_sid|IN char(5)|否||
|open|IN bool|否||
|open_time_range|IN char(11)|否||
|open_day_range|IN varchar(7)|否||
|record_count|OUT int|否|结果集的数量|
### update_lab
如果`@lab_id`在表中存在,则更新记录。修改所有非空字段。
|参数|类型|非空|其他信息|
|:---:|:---:|:---:|:---|
|lab_id|IN int|是||
|lab_name|IN varchar(30)|是||
|principal_sid|IN char(5)|是||
|open_time_range|IN char(11)|是||
|open_day_range|IN varchar(7)|是||
|introduction|IN varchar(200)|是||
|return_code| OUT tinyint|否|[返回状态码](doc:Z5PJgB1f)|
### update_lab_open
如果`@lab_id`在表中存在,修改`@lab_id`对应的实验室的开放状态。
|参数|类型|非空|其他信息|
|:---:|:---:|:---:|:---|
|lab_id|IN int|是||
|open|IN bool|是||
|return_code| OUT tinyint|否|[返回状态码](doc:Z5PJgB1f)|