--根本不用存储过程,一条语句就可以。
insert myStudent select '001',null,null,'软件开发',null
--或
insert myStudent values( '001',null,null,'软件开发',null)
insert myStudent select '001',null,null,'软件开发',null
--或
insert myStudent values( '001',null,null,'软件开发',null)
@myStuId varchar(50),
@myStuName varchar(50),
@myStuSex char(2),
@myStuMajor varchar(50),
@myStuBirth datetime
)
as
begin
declare @sql as varchar(1000)
set @sql = 'update myStudent set '
if @myStuId is null
set @sql = @sql + ' myStuName = null'
else
set @sql = @sql + ' = ''' + @myStuId + '''
if @myStuId is null
set @sql = @sql + ' , myStuSex = null'
else
set @sql = @sql + ' , myStuSex = ''' + @myStuSex + '''
...
exec(@sql)
end
正确解法已经出来了...
exec myStu_update @myStuId='001',@myStuMajor='软件开发'