我正在构建一个MSSQL存储过程来从表中删除一行,但我希望在删除之前将该行的数据作为存储(审计跟踪)的分隔字符串。
我最好能做到这一点吗?
答案 0 :(得分:1)
您可以使用与删除相同的条件从表中选择列,将值连接到字符串中。您几乎肯定需要使用CAST or CONVERT将非字符数据更改为字符串,并且任何可以为空的列都需要使用类似ISNULL(MyColumn,'')的处理。例如;
DECLARE @s varchar(max)
SELECT @s = Col1 + ',' +
cast(Col2 as varchar(32)) + ',' +
isnull(cast(Col3 as varchar(32)), '')
FROM
MyTable
WHERE
ID = @IDToDelete
希望这有帮助,
里斯