-2

我有一个表student(int ID, nvarchar(10) studentName) 和一个表用户类型myStudentType (int ID, nvarchar(10) studentName)

我需要创建一个接受myStudentType参数 ( @students) 和参数的存储过程@newname

mySp(@students myStudentType, @newname nvarchar(10))

并与学生合并myStudentType,以便两个表上存在的所有具有 id 的行现在都将在学生表中具有studentName- @newname(参数),并且 sp 将返回 @students 中未在学生中更新的所有记录的列表桌子

最好的方法是什么(最好使用合并)

谢谢

4

1 回答 1

0

我认为最有问题的规范部分是:

sp 将返回来自@students 且未在学生表中更新的所有记录的列表

我假设“列表”规范意味着“表”(T-SQL 没有“列表”类型的概念)。输出参数不能是TABLE类型(包括用户定义的表类型)。虽然函数可以返回一个表,但您不能通过函数更新基表。有关更多详细信息和可能的解决方案,请参阅Erland Sommarskog 的如何在存储过程之间共享数据。

于 2011-12-19T10:23:13.120 回答