【发布时间】:2012-07-22 14:20:30
【问题描述】:
我正在使用 SQL 更新查询 [在 powershell 脚本中] 来更新列中存在的机器名称。
列值存储为 URL。所以机器名是字符串的一部分。
( 列名 : URL 列值示例:“http://Machine1:80/Impl100/Core/Data/Config.0”)
我正在使用以下查询进行更新。
$UpdateQuery="UPDATE [$DatabaseName].[dbo].[$TableName]
SET $columnName=Replace("$ColumnName", '$OldMachineName', '$NewMachineName');"
假设我的旧机器名称是“Machine1”,我将替换为“AppMachine1”。如果我执行脚本,它将更新“AppMachine1”。但是,如果我第二次执行该脚本,它会将其更新为“AppAppMachine1”,因为 Machine1 是 AppMachine1 的一部分。
是否可以在更新前获取列值并检查机器名称?
如何做到这一点?
【问题讨论】:
-
替换为更锚定的令牌?
'//AppMachine1:'
标签: sql sql-server sql-server-2008 powershell