sql将所有值设置为空

问题描述:

我必须清除SQL Server上不同数据库中的所有行,列等。sql将所有值设置为空

我尝试:

DECLARE @SQL AS VarChar(MAX) 
SET @SQL = '' 

SELECT @SQL = @SQL + 'SELECT * FROM ' + TABLE_SCHEMA + '.[' + TABLE_NAME + ']' + CHAR(13) 
FROM INFORMATION_SCHEMA.COLUMNS 

EXEC (@SQL) 

,但有了这个,我只得到了行。
如何操纵这一声明

update ... set = 'Null' 

,没有where子句,因为我希望所有的人。

+0

你已经很近了。如何更新表名set column = null – Jeremy

+2

删除并重新创建整个环境。 (有一个脚本来做到这一点!) – jarlh

+0

@Jeremy,但这个名字的名字如何 – sano

试试这个:

select 'update [' + TABLE_NAME + '] set [' + COLUMN_NAME + '] = NULL' 
from INFORMATION_SCHEMA.COLUMNS 

这会给每列行/查询,所以你将不得不通过语句使用游标循环,或削减正粘贴到编辑器窗口。

+0

它给了'未知的列名'在TABLE_NAME和COLUMN_NAME back – sano

+0

@sano - 我忘了包含'from'子句。看看上面编辑的查询 - 当我在本地进行测试时,它会起作用。 – SlimsGhost

+0

sry,但是在表信息中这个设置了一些NULL,数据已经准备好了 – sano