我们希望在多个 SQL Server 数据库中进行更新,将某个表中的所有 NULL 值更改为空字符串而不是 NULL。我们可能会在数百个数据库中执行此操作。表名始终相同,但列名根据前端应用程序的配置方式而变化(不要判断......我没有创建这个系统)。
有没有办法在不提前知道列名称的情况下对所有这些列进行更新?
最佳答案
您可以在动态sql中传递列名:
declare @sql nvarchar (1000);
set @sql = N'update table set ' + @column_name + '= ''''';
exec sp_executesql @sql;
关于sql - 具有可变列名的动态更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12846743/