sql server创建存储过程,通过Sname和Sex查询Student表中Sname、Sex、Age的值,Sname和Sex允许为空值,全部为空值则查询全部学生的Sname、Sex、Age;
时间: 2024-01-14 12:46:23 浏览: 62
数据库原理与应用实验指导书.doc
可以使用以下的 SQL Server 存储过程来实现你的需求:
```
CREATE PROCEDURE SearchStudents
@Sname VARCHAR(50) = NULL,
@Sex CHAR(1) = NULL
AS
BEGIN
SET NOCOUNT ON;
SELECT Sname, Sex, Age
FROM Student
WHERE (@Sname IS NULL OR Sname = @Sname)
AND (@Sex IS NULL OR Sex = @Sex)
END
```
在这个存储过程中,我们定义了两个输入参数 @Sname 和 @Sex,它们都允许为空值。然后使用 WHERE 子句来筛选符合条件的记录,如果输入参数为空值,那么就不会对该条件进行筛选,从而实现了查询全部学生的功能。
使用存储过程时,可以通过以下语句来调用:
```
EXEC SearchStudents @Sname = '张三', @Sex = '男'
```
其中,@Sname 和 @Sex 是可选的输入参数,可以根据需要进行设置。如果不需要使用某个参数,则可以不传入该参数或者传入 NULL。
阅读全文