create proc addStudent(@stuNo varchar(20),
@stuName varchar(50)=null,
@stuAge int=0,
@stuSex varchar(1)=null,
@stuTel varchar(20)=null,
@className varchar(20)=null,
@stuDorm varchar(50)=null,
@stuGrade varchar(20)=null)
as
declare @sql varchar(200)
select @sql='insert into mystudent
values('''+@stuNo+''',
'''+isnull(@stuName,'null')+''',
'+cast(@stuAge as varchar(10))+',
'''+isnull(@stuSex,'null')+''',
'''+isnull(@stuTel,'null')+''',
'''+isnull(classNo,'null')+''',
'''+isnull(@stuDorm,'null')+''',
'''+isnull(@stuGrade,'null')+''')'
from myclass
where className=@className
exec(@sql) @className是条件,按你这写法不能为空的吧?
@stuName varchar(50)=null,
@stuAge int=0,
@stuSex varchar(1)=null,
@stuTel varchar(20)=null,
@className varchar(20)=null,
@stuDorm varchar(50)=null,
@stuGrade varchar(20)=null)
as
declare @sql varchar(200)
select @sql='insert into mystudent
values('''+@stuNo+''',
'''+isnull(@stuName,'null')+''',
'+cast(@stuAge as varchar(10))+',
'''+isnull(@stuSex,'null')+''',
'''+isnull(@stuTel,'null')+''',
'''+isnull(classNo,'null')+''',
'''+isnull(@stuDorm,'null')+''',
'''+isnull(@stuGrade,'null')+''')'
from myclass
where className=@className
exec(@sql) @className是条件,按你这写法不能为空的吧?
插入表中的值也为空哦,呵呵,不知道行不行呢
@stuSex varchar(1)=null, @stuTel varchar(20)=null, @className varchar(20)=null,
@stuDorm varchar(50)=null, @stuGrade varchar(20)=null)
as
declare @sql varchar(200) insert into mystudent
values(@stuNo,isnull(@stuName,'null'),cast(@stuAge as varchar(10)),
isnull(@stuSex,'null'),isnull(@stuTel,'null'),isnull(classNo,'null'),
isnull(@stuDorm,'null'),isnull(@stuGrade,'null')
from myclass
where @className=className if @@rowcount=0
insert into mystudent
values(@stuNo,isnull(@stuName,'null'),cast(@stuAge as varchar(10)),
isnull(@stuSex,'null'),isnull(@stuTel,'null'),'null',
isnull(@stuDorm,'null'),isnull(@stuGrade,'null')
create proc addStudent(@stuNo varchar(20),
@stuName varchar(50)=null,
@stuAge int=0,
@stuSex varchar(1)=null,
@stuTel varchar(20)=null,
@className varchar(20)=null,
@stuDorm varchar(50)=null,
@stuGrade varchar(20)=null)
as
declare @sql varchar(200)
if @className is null
set @sql='insert into mystudent
values('''+@stuNo+''',
'''+isnull(@stuName,'null')+''',
'+cast(@stuAge as varchar(10))+',
'''+isnull(@stuSex,'null')+''',
'''+isnull(@stuTel,'null')+''',
''null'',
'''+isnull(@stuDorm,'null')+''',
'''+isnull(@stuGrade,'null')+''')'else
select @sql='insert into mystudent
values('''+@stuNo+''',
'''+isnull(@stuName,'null')+''',
'+cast(@stuAge as varchar(10))+',
'''+isnull(@stuSex,'null')+''',
'''+isnull(@stuTel,'null')+''',
'''+isnull(classNo,'null')+''',-----问题出在这里,
'''+isnull(@stuDorm,'null')+''',
'''+isnull(@stuGrade,'null')+''')
'
from myclass
where @className=className exec(@sql)
@stuName varchar(50)=null,
@stuAge int=0,
@stuSex varchar(1)=null,
@stuTel varchar(20)=null,
@className varchar(20)=null,
@stuDorm varchar(50)=null,
@stuGrade varchar(20)=null)
as
declare @sql varchar(200)
select @sql='insert into mystudent
values('''+@stuNo+''',
'''+isnull(@stuName,'null')+''',
'+cast(@stuAge as varchar(10))+',
'''+isnull(@stuSex,'null')+''',
'''+isnull(@stuTel,'null')+''',
'''+'isnull(classNo,''null'')'+''',-----问题出在这里,
'''+isnull(@stuDorm,'null')+''',
'''+isnull(@stuGrade,'null')+''')
'
from myclass
where @className=className
exec(@sql)
@className是条件,按你这写法不能为空的吧?
----------------------------
估计为空结果就郁闷了
这种方法是不行的,因为claaNo在myclass表中,而其他的是在mystudent表中...的