创建一存储过程,其功能是用来查询学号为“20004071102”的学生是否存在,若存在,则显示其学号、姓名、性别、所选修的课程的课程名及成绩值,否则显示“查无此人”
代码如下:create proc pc(@学号 nvarchar(20))
as
if exists(select 1 from 学生表 where 学号=@学号)
select * from 学生表 where 学号=@学号
else
select '查无此人'请问 :select 1中"1"是什么意思?如何输入学号:20004071102
代码如下:create proc pc(@学号 nvarchar(20))
as
if exists(select 1 from 学生表 where 学号=@学号)
select * from 学生表 where 学号=@学号
else
select '查无此人'请问 :select 1中"1"是什么意思?如何输入学号:20004071102
-------------
如果返回数据,表示有这个学号的学生。
调用存储过程:exec pc N'20004071102'
对满足条件的每一行 select一个1出来,因为据传 select 常数出来要比 *或者是具体的列,速度更快,Exists只会返回真或者假,所以子循环里返回什么都无所谓
2.如何输入学号:20004071102
exec pc('20004071102')