使用sqlserver完成(7)创建另外一个带输入参数存储过程do_call,该存储过程根据用户输入的参数是字符“Y”还是“N”,若输入是“Y”,则调用存储过程do_insert, --将如下学生信息(201615138,张三,男, 22, MS)插入Student表中,并查询学生表中所有学生信息;若输入是“N”,则输出“用户没有插入学生记录”。
时间: 2023-12-11 21:05:07 浏览: 81
好的,下面是创建 do_call 存储过程的 T-SQL 代码:
```
CREATE PROCEDURE do_call
@flag CHAR(1)
AS
BEGIN
IF @flag = 'Y'
BEGIN
EXEC do_insert 201615138, '张三', '男', 'MS', 22;
SELECT * FROM Student;
END
ELSE IF @flag = 'N'
BEGIN
PRINT '用户没有插入学生记录';
END
END;
```
该存储过程包含一个输入参数 @flag,其取值为字符 Y 或 N。根据输入参数的不同,执行不同的操作:
- 若输入参数为 Y,则调用之前创建的 do_insert 存储过程插入一条学生记录,并查询 Student 表中所有学生信息;
- 若输入参数为 N,则直接输出提示信息“用户没有插入学生记录”。
调用该存储过程的方法如下:
```
EXEC do_call 'Y'; -- 插入学生记录并查询
EXEC do_call 'N'; -- 输出提示信息
```
其中,第一个调用会插入一条学生记录并查询,第二个调用会直接输出提示信息。
相关问题
用SQL server 创建一个带参数的存储过程stu_age,现实输入学生学号输出该生的出生年月日,并调用。
以下是创建名为`stu_age`的带参数的存储过程的 SQL 代码:
```sql
CREATE PROCEDURE stu_age
@student_id INT
AS
BEGIN
SELECT birthdate
FROM students
WHERE id = @student_id
END
```
该存储过程接受一个整数类型的参数`@student_id`,并从名为`students`的表中查询该学生的出生年月日(`birthdate`字段)。
调用该存储过程并传递参数的 SQL 代码如下:
```sql
EXECUTE stu_age @student_id = 12345;
```
其中,12345是要查询的学生的学号,你可以根据实际情况修改。执行该 SQL 语句后,将会返回该学生的出生年月日。
用SQL server 创建一个带参数的存储过程stu_age,现实输入学生学号(studentno)输出该生的出生年月日(birthdate),并调用。
以下是创建带参数的存储过程stu_age的SQL语句:
```
CREATE PROCEDURE stu_age
@studentno int
AS
BEGIN
SELECT birthdate FROM student WHERE studentno = @studentno
END
```
以上代码创建了一个名为stu_age的存储过程,该过程包含一个输入参数@studentno。当调用该存储过程并传入学生学号时,它将返回相应学生的出生年月日。
以下是调用该存储过程的SQL语句:
```
EXEC stu_age @studentno = 1001
```
以上代码将调用stu_age存储过程,并传入学生学号1001。该过程将返回该学生的出生年月日。