Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 我更新了临时表,它更新了原始表MSSQL服务器_Sql Server - Fatal编程技术网

Sql server 我更新了临时表,它更新了原始表MSSQL服务器

Sql server 我更新了临时表,它更新了原始表MSSQL服务器,sql-server,Sql Server,我运行这个查询来更新临时表CTE_Companies,它更新了原始Companies表。我现在该怎么办:( 公共表表达式不是临时表。它更像是一个或多个表上的子查询。如果从单个表中选择,则将更新此表 这是精心设计的,非常有用,因为您可以更改更新/删除以执行选择操作,从而轻松查看要更改或删除的内容。因此,您应该在CTE中包含Where条件。如果没有基表,则无法更新表表达式。 使用临时表。获取最后一次备份。。。 BEGIN TRAN WITH CTE_Companies (ZIP) As ( Sel

我运行这个查询来更新临时表
CTE_Companies
,它更新了原始
Companies
表。我现在该怎么办:(


公共表表达式不是临时表。它更像是一个或多个表上的子查询。如果从单个表中选择,则将更新此表


这是精心设计的,非常有用,因为您可以更改
更新
/
删除
以执行
选择
操作,从而轻松查看要更改或删除的内容。因此,您应该在
CTE
中包含
Where
条件。如果没有基表,则无法更新表表达式。
使用临时表。

获取最后一次备份。。。
BEGIN TRAN

WITH CTE_Companies
(ZIP)
As
(
Select ZIP from Companies
)

Update  CTE_Companies 
set CTE_Companies.ZIP= SUBSTRING (1, CTE_Companies.ZIP, LEN(CTE_Companies.ZIP) - 1)
where
    len(CTE_Companies.ZIP) = 5 
    and CTE_Companies.ZIP LIKE '0%'


-- check if your data is ok and then change the next line to COMMIT TRAN     
ROLLBACK TRAN
BEGIN TRAN

WITH CTE_Companies
(ZIP)
As
(
Select ZIP from Companies
)

Update  CTE_Companies 
set CTE_Companies.ZIP= SUBSTRING (1, CTE_Companies.ZIP, LEN(CTE_Companies.ZIP) - 1)
where
    len(CTE_Companies.ZIP) = 5 
    and CTE_Companies.ZIP LIKE '0%'


-- check if your data is ok and then change the next line to COMMIT TRAN     
ROLLBACK TRAN