2016-03-15 67 views
0

我必須清除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

回答

0

試試這個:

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