我有一个表student(int ID, nvarchar(10) studentName)
和表用户类型为myStudentType (int ID, nvarchar(10) studentName)
我需要创建一个存储过程,它接受一个myStudentType
参数(@students
)和一个参数@newname
mySp(@students myStudentType, @newname nvarchar(10))
并将myStudentType
与student合并,这样在student表中存在的所有具有id的行现在都具有studentName
- @newname
(参数)。并且sp将返回@students中未更新的所有记录的列表学生表
最好的方法是什么?(首选合并)
谢谢
我认为规范中最有问题的部分是:
sp将返回student表中未更新的@students的所有记录的列表
我假设这里的'list'意味着'table' (T-SQL没有'list'类型的概念)。输出参数不能是TABLE
类型(包括用户定义的表类型)。虽然函数可以返回表,但不能通过函数更新基表。有关更多详细信息和可能的解决方案,请参见Erland Sommarskog的如何在存储过程之间共享数据。