这个是我写的一个测试的SQL存储过程,有2个问题请教下:
alter proc Sel
@id1 sysname=null
as
declare @id int
set @id=@id1if(@id is not null)
begin
goto lable1
--return
end
--return (0)
else
begin
goto lable2
--return
end
------------
lable1:
select * from users where id=@id
lable2:
select * from users1.请问执行下面的语句的时候 为什么2个的结果一个是一张表,一个是三张表?
exec Sel 3
exec Sel
2.为什么sysname这个为空的时候,可以传参数,也可以不传?
alter proc Sel
@id1 sysname=null
as
declare @id int
set @id=@id1if(@id is not null)
begin
goto lable1
--return
end
--return (0)
else
begin
goto lable2
--return
end
------------
lable1:
select * from users where id=@id
lable2:
select * from users1.请问执行下面的语句的时候 为什么2个的结果一个是一张表,一个是三张表?
exec Sel 3
exec Sel
2.为什么sysname这个为空的时候,可以传参数,也可以不传?
select * from users where id=@id
--你这里应该有结束语句的。
return
lable2:
select * from users 1.结果哪个是一张表,哪一个是三张表?2. Sel 的参数不传的话,默认为NULL.