我有這個批處理文件,將所有表的列表輸出到一個文件。我正在尋找將輸入此列表的命令,並生成一個drop語句的完整列表以刪除所有表?從批處理文件中刪除SQL Server數據庫中的所有表?
:: droptables.bat
set SQLVER=100
if NOT EXIST "%PROGRAMFILES%\Microsoft SQL Server\100\Tools\BINN\osql.exe" (
@echo MS SQL Server 2008 not found.
set SQLVER=90
if NOT EXIST "%PROGRAMFILES%\Microsoft SQL Server\90\Tools\BINN\osql.exe" (
@echo MS SQL Server 2005 not found.
set SQLVER=80
if NOT EXIST "%PROGRAMFILES%\Microsoft SQL Server\80\Tools\BINN\osql.exe" (
@echo MS SQL Server is not yet installed.
pause
exit
)
)
)
@echo Your SQL Server version is %SQLVER% (100=2008,90=2005, and 80=2000)
if exist "%PROGRAMFILES%\Microsoft SQL Server\%SQLVER%\Tools\BINN\osql.exe" (
"%PROGRAMFILES%\Microsoft SQL Server\%SQLVER%\Tools\BINN\osql" -E
-d "%PROJECT%PD_FSDB_ECitation" -h-1 -Q "select name from sysobjects where
type='U' order by name;" -o tableList.txt
上面的查詢需要更改創建下降語句,而不是隻是表名的列表。 tableList.sql文件只是一個簡單的drop table語句列表。
產生queryList.sql後,那麼我想,像這樣運行:
osql -E -h-1 -i C:\MyFolder\queryList.txt
我知道有產生了SQL語句的SQL語句列表的方式,但我不記得怎麼做。
那就是它!非常感謝。 – djangofan 2011-04-13 20:22:16
@djangofan酷,請記住標記爲正確的請:-) – 2011-04-13 20:26:28
謝謝你的答案。得到你的幫助後,我發佈了我的腳本。 – djangofan 2011-04-13 21:22:25