我需要将语句转换并插入到一个有几千行的更新语句中。
我已经使用SSMS Import/Export向导将值从文本文件插入到我的测试环境中,但有人建议我应该使用UPDATE。
我使用RapidSQL创建插入脚本,但需要将其转换为更新。4位和5位数值已经存在于目标表中,并且可能在WHERE语句中使用。感谢您的帮助!
INSERT INTO TRAPEZE.STOPS ( STOPID, USERLONGSTRING1 )
VALUES ( 10268, 'Westbound Ford Rd @ 189B St' )
/
INSERT INTO TRAPEZE.STOPS ( STOPID, USERLONGSTRING1 )
VALUES ( 9603, 'Eastbound Adams Rd @ Cowan (Flag)' )
/目标列USERLONGSTRING1最终应包含值'Westbound Ford @ 189B St‘,其中STOPID为10268。文本文件包含STOPID和Location值。
这是一个24x7实时数据库,有许多依赖的应用程序将其用于实时应用程序,因此截断不是一个选项。
我最初的INSERT语句是通过导入到测试服务器中的一个临时表中创建的,但是我的DBA(sp的话-sports)不想让我创建额外的表,他们只想要一个更新脚本。
发布于 2019-08-07 06:27:01
使用临时表,您的脚本更改将更容易:
declare @myTemp table (STOPID int, USERLONGSTRING1 varchar(200))
INSERT INTO @myTemp ( STOPID, USERLONGSTRING1 )
VALUES ( 10268, 'Westbound Ford Rd @ 189B St' )
INSERT INTO @myTemp ( STOPID, USERLONGSTRING1 )
VALUES ( 9603, 'Eastbound Adams Rd @ Cowan (Flag)' )
-- ...
update TRAPEZE.STOPS
set USERLONGSTRING1 = t.USERLONGSTRING1
from TRAPEZE.STOPS ts inner join @myTemp t on t.StopId = ts.StopId;发布于 2019-09-04 23:16:24
我作弊,只是把值放到一个电子表格中,然后剪切并粘贴到记事本++中以添加引号,klugey,但它起作用了:

https://stackoverflow.com/questions/57384575
复制相似问题