l.l*_*ith 6 sql-server delete sql-server-2008-r2 truncate
我可以使用带有 where 子句的 truncate 命令吗?我需要从几个表中删除特定的行。
如何从整个数据库中删除特定数据?
SELECT DimEmployee.[FirstName], DimEmployee.[LastName], [SalesOrderNumber], [ShipDateKey]
FROM DimEmployee
JOIN [FactResellerSales]
ON DimEmployee.[EmployeeKey] = [FactResellerSales].[ProductKey]
WHERE DimEmployee.[FirstName] like 'kevin%' <--have to truncate this specific name from entire DB
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以从整个数据库中删除特定数据?
在我的数据库中有 172 个表。我想从整个数据库中删除特定名称及其对应的列。该名称分布在整个数据库中,因此我想一次性删除它,而不是转到每个表并单独删除它。
Eri*_*ing 10
不,Truncate 不能与WHERE
子句一起使用。截断只是释放属于表(或分区)及其索引的所有页面。
来自BOL:
-- Syntax for SQL Server and Azure SQL Database
TRUNCATE TABLE
[ { database_name .[ schema_name ] . | schema_name . } ]
table_name
[ WITH ( PARTITIONS ( { <partition_number_expression> | <range> }
[ , ...n ] ) ) ]
[ ; ]
Run Code Online (Sandbox Code Playgroud)
如果您正在寻找一种更有效的方式来删除数据,我会从这里开始。
归档时间: |
|
查看次数: |
31644 次 |
最近记录: |