我有一个包含16个字段的表作为User1,User2,... User16,(+其他一些字段),我有一个名为&#34的存储过程; Register"得到一个"用户名"并将其放在这16个字段的第一个Null字段中,例如,如果User1和User2具有值,则新的"用户名"将放入User3,没有问题
我有另一个存储过程名为" UnRegister"得到一个"用户名"并设置为Null已给出"用户名"
的字段值更新表并为给定的"用户名"添加Null没有问题。但问题是在将用户(X)更新为空后,用户(X + 1)值应该放在用户(X)字段中!
一个例子:
User1 = "U1"
User2 = "U2"
User3 = "U3"
User4 = "U4"
User5 = NULL
...
User16 = NULL
现在,我想取消注册" U2"结果值应该是这样的:
User1 = "U1"
User2 = "U3"
User3 = "U4"
User4 = NULL
User5 = NULL
...
User16 = NULL
我想,我应该在UPDATE语句中为所有16个字段使用16个CASE语句,并为每个CASE使用16个WHEN !!
还有其他办法吗?!
谢谢......